Avatar billede q^bone Nybegynder
11. oktober 2005 - 13:58 Der er 4 kommentarer og
1 løsning

Skjul/Vis menu ved klik på billede,

Hej Eksperter
Jeg søger et script som kan vise en menu f.eks. "Menu1" når man klikker på et billede.. når jeg så trykker på billede nr2 skiftes teksten "Menu1" til "Menu2" osv.
Det nærmeste jeg har fundet indtilv videre er dette spørgsmål: http://www.eksperten.dk/spm/110127
Jeg har prøvet at smide det ind i det ejg har nu, men jeg kan ikke få det til at virke.. måske frdi jeg i forvejen bruger noget javascript til at lave rollover knapper. (Til at lave dem har jeg bare brugt Dreamweavers funktion "navigation bar").
Koden til Rollover er her:

<!-- NAVIGATIONS BAR
function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = findObj(args[2])) != null && !img.init) {
      img.init = true; img.up = args[3]; img.dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
        if (!img.up) img.up = img.src;
        img.src = img.dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = findObj(args[i])) != null) {
      if (!img.up) img.up = img.src;
      img.src = (img.dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.nbOver.length; i++) {
      img = document.nbOver[i]; img.src = (img.dn) ? img.dn : img.up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.up; img.dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
      if (!img.up) img.up = img.src;
      img.src = img.dn = (args[i+1])? args[i+1] : img.up;
      nbArr[nbArr.length] = img;
  } }
}
//-->

og Knapperne med ovenstående javascript ser således ud:

<a href="#" onClick="nbGroup('down','group1','forside','images/banner/forside_over.gif',1)" onMouseOver="nbGroup('over','forside','images/banner/forside_over.gif','images/banner/forside_over.gif',1)" onMouseOut="nbGroup('out')">
<img name="forside" src="images/banner/forside.gif" border="0" alt="" onload=""></a>

Hvordan får jeg implementeret noget javascript så når ejg klikker på mine billeder, så viser de en menu, som bliver skiftet ud, med en anden menu, når man klikker på et andet billede?

På Forhånd tak.
Avatar billede q^bone Nybegynder
12. oktober 2005 - 00:13 #1
Ahaaa.. jeg har lokaliseret problemet til min angivelse af DOCTYPE..
Jeg har prøvet at smide en test kode ind for at teste et menu script.. og det ser sådan her ud:
Menu:<br />
<a href="#" onclick="document.all.tekst.innerHTML='Menu1'">Menu felt 1</a><br />
<a href="#" onclick="document.all.tekst.innerHTML='Menu2'">Menu felt 2</a><br />
<a href="#" onclick="document.all.tekst.innerHTML='Menu3'">Menu felt 3</a><br />
<a href="#" onclick="document.all.tekst.innerHTML='Menu4'">Menu felt 4</a><br /><br />
Tekst:
<div id="tekst">Her skal teksten så komme frem med det samme når man har klikket på linket.</div>

lige nu bruger jeg:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

Men har også prøvet med:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

Og ingen af dem virker.. Har nogle af jer en ide til hvordan jeg får det til at virke?
evt. hvilken DOCTYPE jeg skal bruge?
Avatar billede q^bone Nybegynder
12. oktober 2005 - 01:13 #2
Jeg giver gerne en 100point ekstra til en som kan hjælpe mig!
Avatar billede psykochicken Nybegynder
12. oktober 2005 - 13:21 #3
prøv at rette
onclick="document.all.tekst.innerHTML='Menu1'"
til
onclick="document.getElementById('tekst').innerHTML='Menu1'"

/psc :)
Avatar billede q^bone Nybegynder
01. november 2005 - 19:43 #4
Jeg fik det fandt ud af at det ikke var en tilfredsstillende løsning med javascript så jeg lavede det med php.
psykochicken smid et svar så får du 40 point for din hjælp.
Fik det desværre ikke helt til at virke med det, men med lidt ekstra hjælp udefra.
Avatar billede q^bone Nybegynder
20. juli 2006 - 14:59 #5
Nåh nu har du psykochicken vidst haft rigelig tid til at give svar.
så jeg snupper dem selv igen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester