Probleem met dHTML menu van Dreamweaver icm frames

Pagina: 1
Acties:
  • 67 views sinds 30-01-2008

  • martijnn
  • Registratie: Oktober 2000
  • Laatst online: 21-08 07:07
Ik zit met een probleem waar ik al een paar dagen mee bezig ben. Het is het volgende: Ik gebruik het showlayer menu van Dreamweaver (MM_findObj & MM_showHideLayers). Het menu zelf werkt in 2 frames; een topframe, waarin de hoofditems staan, en een mainframe, waarin de submenu's uitklappen.

Dit alles werkt prima onder IE 6.0, maar het werkt helaas niet met IE 5.x. ALs je hier met de cursor op het menu gaat staan, klapt het wel uit, maar verschuif je de cursor naar het uitgeklapte deel, klapt het menu gelijk weer in en is het dus niet mogelijk om een link aan te klikken. Bij IE 6.0 blijft het menu staan.

Ik had ergens al gelezen dat, mocht er gewerkt worden met een tabel, het onmouseout event getrickerd wordt zodra je over een tabellijn heen gaat. Echter vind ik het vreemd dat dit dan niet bij IE 6.0 fout gaat. Heeft het soms iets te maken met het gebruik van frames?

Hieronder de gebruikte code:

Op beide pagina's:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script language="JavaScript" 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>

In het topFrame:
HTML:
1
<a href="linkje.htm" target="_parent">[img]"testpic.gif"[/img]</a>

In het mainFrame:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div id="testmenu" style="position:absolute; left:7px; top:0px; width:150px; height:196px; z-index:1; visibility: hidden;" onMouseOver="MM_showHideLayers('testmenu','','show')" onMouseOut="MM_showHideLayers('testmenu','','hide')" align="left"> 
  <table width="150" bgcolor="#FF0066">
    <tr> 
      <td class="menutext">&nbsp;</td>
      <td ><a href="testlink1.htm" target="_parent" class="menutext">Testlink 1</a></td>
    </tr>
    <tr> 
      <td class="menutext">&nbsp;</td>
      <td ><a href="testlink2.htm" target="_parent" class="menutext">Testlink 2</a></td>
    </tr>
    <tr> 
      <td class="menutext">&nbsp;</td>
      <td ><a href="testlink3.htm" target="_parent" class="menutext">Testlink 3</a></td>
    </tr>
    <tr> 
      <td class="menutext">&nbsp;</td>
      <td ><a href="testlink4.htm" target="_parent" class="menutext">Testlink 4</a></td>
    </tr>
  </table>
  [img]"onder.gif"[/img]
</div>

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 19-08 23:05
Persoonlijk denk ik dan ook dat je van Dreamweaver geen code kunt verwachten die 100% cross-browser compatible is.. vandaar ook dat het me handig lijkt dat je zelf een functie schrijft die wel werkt.

Motor (of auto) onderhoud bijhouden


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 02:40

Pelle

🚴‍♂️

* Pelle denkt ook dat we hier niet jouw (of andermans) scripts gaan debuggen :)

Zoek een Dreamweaver support forum op ofzo :)

Dit topic is gesloten.