Avatar billede Slettet bruger
07. oktober 2003 - 17:55 Der er 17 kommentarer og
1 løsning

Dropdown med layers osv

Jeg har for meget lang tid siden fået et dropdown script af Pelkjaer (http://www.eksperten.dk/spm/282118 og http://www.eksperten.dk/spm/282886)

Nu skal jeg så bruge det igen, men på flere steder. Er der mulighed for at ændre i scriptet eller noget, så jeg kan bruge dropdown scriptet mange steder på samme side?
Her er koden til scriptet:

<script type="text/JavaScript">
<!--
function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>
<body>

<div id="menClose" style="position:absolute; left:0px; top:35px; width:455px; height:367px; z-index:1; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menCloseTop" style="position:absolute; left:0px; top:0px; width:455px; height:15px; z-index:2; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menOne" name="menOne" style="position:absolute; left:8px; top:33px; width:150px; height:200px; z-index:3; visibility: hidden;" class="divMenus">Dette er Menu 1</div>

<div id="menHolder" style="position:absolute; z-index: 4;">
<a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')">Vis Menu 1</a>
</div>

Så... nogen der kan hjælpe mig?
Avatar billede skovenborg Nybegynder
07. oktober 2003 - 18:05 #1
du kan vel bare lave en <div> til - fx:
<div id="menHolder2" style="position:absolute;left:100px">
<a href="java script:;" onmouseover="MM_showHideLayers('menClose','','show');">fakl</a>
</div>

Viser så billedet igen. Så kan bare lave en ny usynlig div.
Avatar billede Slettet bruger
07. oktober 2003 - 18:56 #2
Kan du ikke skrive præcist hvad jeg skal skrive?
Avatar billede skovenborg Nybegynder
07. oktober 2003 - 19:09 #3
altså så vidt jeg har forstået vil du gerne have flere links, som viser en menu. Det du så skal gøre at at lave en til <div> med et link indeni - ligesom <div id="menHolder" style="position:absolute; z-index: 4;">
<a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')">Vis Menu 1</a>
</div>

---På linket laver du en onmouseover="MM_showHideLayers('idnavn','','show');" hvor id navn er det ID på den boks du vil vise. Det er sådan set det samme som du allerede har lavet, hvor du lavede tre id-bokse som havde hver deres ID. Dem viste du så ved at bruge MM_showHideLayers.
Avatar billede skovenborg Nybegynder
07. oktober 2003 - 19:11 #4
Mit eksempel fra før skal bare skrives ind et eller andet sted. Den viser så <div id="menClose">.

Du kunne også bare skrive, der hvor "menuen" skal være:
<a href="java script:;" onmouseover="MM_showHideLayers('menClose','','show');">fakl</a>
som vil gøre det samme.

Sig lige til hvad det præcis er du ikke forstår.
Avatar billede Slettet bruger
07. oktober 2003 - 19:34 #5
ja, men linkene skal ikke vise den samme menu! de skal vise hver deres
Avatar billede Slettet bruger
07. oktober 2003 - 19:35 #6
arh... min fejl!
Avatar billede Slettet bruger
07. oktober 2003 - 19:43 #7
okay, det virker, men der kommer en ramme rundt om mit billede (bruger billede til link, ikke tekst. Hvordan fjerner jeg den?!
Avatar billede skovenborg Nybegynder
07. oktober 2003 - 19:48 #8
fjern border:
<img src="billede.png" border="0">
eller med style-sheet: style="border-width:0px;"
Avatar billede Slettet bruger
07. oktober 2003 - 20:20 #9
okay, det virker, men så alligevel ikke. For der er nogle steder på nr. 2 at man kan få nr. 1 frem, og nogle steder forsvinder menuen ikke, når man fjerner musen
Avatar billede skovenborg Nybegynder
07. oktober 2003 - 22:40 #10
kunne du vise mig din nuværende kode?
Avatar billede Slettet bruger
08. oktober 2003 - 23:00 #11
Kan nok først på fredag, for har ikke tid nu, og kan sikkert ikke i morgen
Avatar billede skovenborg Nybegynder
08. oktober 2003 - 23:06 #12
helt i orden - er dog væk i første halvdel af efterårsferien, men kan sikkert godt nå det hvis du kan skrive tilbage fredag.

--ellers er der vel andre som kan hjælpe :-)
Avatar billede Slettet bruger
10. oktober 2003 - 11:22 #13
her er HELE min kode på min index fil, hvor dropdown skal bruges:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}
.divMenus {
    background-color: #60708A;
    color: #FFFFFF;
    border: 1px solid #000000;
    padding: 10px;
}
a {
    color: #999999;
    text-decoration: none;
}
a:hover {
    color: #000000;
    text-decoration: none;
}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body>

<div id="menClose" style="position:absolute; left:0px; top:35px; width:455px; height:367px; z-index:1; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menCloseTop" style="position:absolute; left:0px; top:0px; width:455px; height:15px; z-index:2; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menOne" name="menOne" style="position:absolute; left:261px; top:203px; width:82px; height:110px; z-index:3; visibility: hidden;" class="divMenus">Maps<br>
  Vehicles<br>
  Buildings<br>
  Objects<br>
  Skins <br>
  Other<br>
  <br>
  Add mod</div>

</head>

<body>
<div id="menOne2" name="menOne" style="position:absolute; left:378px; top:203px; width:82px; height:110px; z-index:3; visibility: hidden;" class="divMenus">Cheats</div>
<div id="Layer1" style="position:absolute; width:200px; height:157px; z-index:1; left: 172px; top: 12px;">
  <table width="75" border="0">
    <tr>
      <td><img src="logoblue.gif" width="698" height="157" border="0"></td>
    </tr>
  </table>
</div>
<div id="Layer2" style="position:absolute; width:698px; height:34px; z-index:2; left: 175px; top: 172px;">
  <img src="homeblue.gif" width="82" height="30">
  <div id="menHolder" style="position:absolute; z-index: 4;">
<a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')"></div>
  <img src="modsblue.gif" width="82" height="30" border="0"></a> </div>
<div id="menCloseTop2" style="position:absolute; left:0px; top:0px; width:455px; height:15px; z-index:2; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menOne2','','hide','menClose2','','hide','menCloseTop2','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>
<div id="menClose2" style="position:absolute; left:0px; top:35px; width:455px; height:367px; z-index:1; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menOne2','','hide','menCloseTop2','','hide','menClose2','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>
<div id="menHolder2" style="position:absolute; z-index: 4; left: 378px; top: 172px; width: 88px; height: 35px;">
  <a href="java script:;" onMouseOver="MM_showHideLayers('menOne2','','show','menCloseTop2','','show','menClose2','','show')"><img src="vicecityblue.gif" width="82" height="30" border="0"></a>
</div>
</body>
</html>
Avatar billede Slettet bruger
10. oktober 2003 - 14:54 #14
jeg har skiftet alle mine layers ud, og lagt det i tabeller (det meste)for at alle kan se siden. Men nu flimrer dropdown menuen når jeg kører musen over!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}
.divMenus {
    background-color: #60708A;
    color: #FFFFFF;
    border: 1px solid #000000;
    padding: 10px;
}
a {
    color: #999999;
    text-decoration: none;
}
a:hover {
    color: #000000;
    text-decoration: none;
}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>

<body> <div id="menClose" style="position:absolute; left:0px; top:35px; width:455px; height:367px; z-index:1; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menCloseTop" style="position:absolute; left:0px; top:0px; width:455px; height:15px; z-index:2; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menOne" name="menOne" style="position:absolute; left:234px; top:209px; width:82px; height:200px; z-index:3; visibility: hidden;" class="divMenus">Dette
  er Menu 1</div>

<div id="menHolder" style="position:absolute; z-index: 4; left: 167px; top: 100px;">
</div>
<div align="center">
  <table width="698" border="0" cellpadding="2" cellspacing="0">
    <tr>
      <td><img src="logoblue.gif" width="698" height="157"></td>
    </tr>
    <tr>
      <td><img src="homeblue.gif" width="82" height="30"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')"><img src="modsblue.gif" width="82" height="30" border="0"></a>
      </td>
    </tr>
  </table>
</div>
<div align="center"> </div>
</body>
</html>
Avatar billede skovenborg Nybegynder
10. oktober 2003 - 16:24 #15
du kan undgå flimren vil at tilføje nogle flere onmouseover og out events rundt omkring. Du kan jo prøve det og se om det ikke skulle kunne gøre det.
<div id="menClose" style="position:absolute; left:0px; top:35px; width:455px; height:367px; z-index:1; visibility: hidden;" onMouseOut="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><a href="java script:;" ><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menCloseTop" style="position:absolute; left:0px; top:0px; width:455px; height:15px; z-index:2; visibility: hidden;"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')"><img src="_spacer.gif" width="100%" height="100%" border="0"></a></div>

<div id="menOne" name="menOne" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')" onMouseOut="MM_showHideLayers('menClose','','hide','menCloseTop','','hide','menOne','','hide')" style="position:absolute; left:234px; top:209px; width:82px; height:200px; z-index:3; visibility: hidden;" class="divMenus">Dette
  er Menu 1</div>

<div id="menHolder" style="position:absolute; z-index: 4; left: 167px; top: 100px;">
</div>
<div align="center">
  <table width="698" border="0" cellpadding="2" cellspacing="0">
    <tr>
      <td><img src="logoblue.gif" width="698" height="157"></td>
    </tr>
    <tr>
      <td><img src="homeblue.gif" width="82" height="30"><a href="java script:;" onMouseOver="MM_showHideLayers('menClose','','show','menCloseTop','','show','menOne','','show')"><img src="modsblue.gif" width="82" height="30" border="0"></a>
      </td>
    </tr>
  </table>
</div>
<div align="center"> </div>
Avatar billede skovenborg Nybegynder
10. oktober 2003 - 16:30 #16
...men hvis du skal tilføje flere undermenuer, kan det godt give problemmer.
Avatar billede Slettet bruger
10. oktober 2003 - 18:28 #17
ja, det gør det! Kan dte fikses?
Avatar billede Slettet bruger
07. november 2003 - 14:59 #18
lukker
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

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Capgemini Danmark A/S

Client Partner