Probleme mit drop down menu
-
Hallo @all,
ich habe auf einer seite (jswelt.de) ein drop-down menu entdeckt. hier gehts zum menu
funktioniert auch alles prima, nur ist es leider nicht korrekt geschrieben, da die html-liste nicht xhtml-valid ist.<ul> <li><li> <ul> <li></li> <li></li> </ul> <li></li> </ul>
Jetzt will ich, dass die unterpunkte in einem <li> tag sind.
<ul> <li> <ul> <li></li> <li></li> </ul> </li> <li></li> </ul>
nur wenn ich den html-teil so umstelle, dann funktioniert der JavaScript nicht mehr. Und weil ich von Javascript keine Ahnung habe, wollt ich mal fragen, ob mir jemand den script umstellen könnte. wäre echt prima, wenn es klappen würde!
Vielen Dank schonmal
MFG sky-froghier ist nochmal der seitenquelltext:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Beschreibung der Seite</title> <style> <!-- #foldheader{cursor:pointer;cursor:hand ; font-weight:bold ; //list-style-image:url(fold.gif)} #foldinglist{list-style-image:url(list.gif)} //--> </style> <script language="JavaScript1.2"> <!-- //Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02) //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com //This credit MUST stay intact for use var head="display:''" img1=new Image() img1.src="fold.gif" img2=new Image() img2.src="open.gif" var ns6=document.getElementById&&!document.all var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1 function checkcontained(e){ var iscontained=0 cur=ns6? e.target : event.srcElement i=0 if (cur.id=="foldheader") iscontained=1 else while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){ if (cur.id=="foldheader"||cur.id=="foldinglist"){ iscontained=(cur.id=="foldheader")? 1 : 0 break } cur=ns6? cur.parentNode : cur.parentElement } if (iscontained){ var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0] if (foldercontent.style.display=="none"){ foldercontent.style.display="" cur.style.listStyleImage="url(open.gif)" } else{ foldercontent.style.display="none" cur.style.listStyleImage="url(fold.gif)" } } } if (ie4||ns6) document.onclick=checkcontained //--> </script> </head> <bod> <ul> <li id="foldheader">News</li> <ul id="foldinglist" style="display:none" style=&{head};> <li><a href="http://www.cnn.com">CNN</a></li> <li><a href="http://www.abcnews.com">ABC News</a></li> <li><a href="http://www.news.bbc.co.uk">BBC News</a></li> </ul> <li id="foldheader">Webmaster</li> <ul id="foldinglist" style="display:none" style=&{head};> <li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li> <li><a href="http://www.javascriptkit.com">JavaScript Kit</a></li> <li><a href="http://www.freewarejava.com">Freewarejava.com</a></li> </ul> </ul> </body> </html>
-
So klappt es bei mir ohne Probleme - hab aber nicht geschaut, ob der Code so valide ist.
<li id="foldinglist" style="display:none" style=&{head};> <ul> <li><a href="http://www.cnn.com">CNN</a></li> <li><a href="http://www.abcnews.com">ABC News</a></li> <li><a href="http://www.news.bbc.co.uk">BBC News</a></li> </ul> </li>
Du solltest dabei aber bedenken, dass Leute mit deaktiviertem JavaScript nichts zu sehen bekommen (außer den Überschriften)
-
mh, bei mir geht das nicht.
-
Worm schrieb:
mh, bei mir geht das nicht.
deaktiviertes js?