|
||||
Javascript und Validierung
Mal vorweg, ich bin ein kompletter Dau, wenn es um Javascript geht.
Ich habe auf meiner Seite ein Script eingebaut, das das Menü aufklappt. Das führt aber zu diversen Problemen. Jemand der Scripts nicht erlaubt, kann das Menü nicht sehen, das Script müsste also anders anfangen und das offene Menü beim laden erst schließen. Außerdem wäre es nett, wenn immer nur ein Unterpunkt geöffnet wäre, der zuletzt offene also automatisch geschlossen wird. Link zur Betaseite Zu den Validierungsproblemen: -Das Script benutzt ids, was allerdings zu Fehlern führt, da sie mehrmals vergeben werden müssen. -Die doppelte style Angabe ist ebenfalls nicht korrekt. Wie kann man das am geschicktesten lösen? Hier noch das Javascript und der Menüabschnitt: Code:
//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:''" 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="" } else{ foldercontent.style.display="none" } } } if (ie4||ns6) document.onclick=checkcontained Code:
<div id="navi"> <ul> <li id="foldheader">[img]../style/txt.png[/img] <ul id="foldinglist" style="display:none" style=&{head};>[*]news[*]about[*]guestbook[/list] <li id="foldheader">[img]../style/work.png[/img] <ul id="foldinglist" style="display:none" style=&{head};>[*]wip[/list] <li id="foldheader">[img]../style/other.png[/img] <ul id="foldinglist" style="display:none" style=&{head};>[*]forum[*]links[*]programs[/list][/list] </div> |
Sponsored Links |
|
||||
So, ich habe das ganze nochmal überarbeitet, jetzt kommt das HTML durch die Validierung und ich denke, man kann das Javascript damit auch dazu bringen das Menü auf und zu zu klappen.
Durch das Entfernen der doppelten style Angabe ist es automatisch offen, wenn die Seite geladen wird (man müsste jetzt das Script dazu bringen es am Anfang zu schließen). Kann man die unterschiedlichen ids im Script unterbringen oder gibts doch ne Möglichkeit es mit classes zu machen? Und wie lässt man das Script beim laden alle Untermenüs schließen? Code:
<div id="navi"> <ul> <li id="txt">[img]../style/txt.png[/img] <ul id="txtlist" style="&{head};">[*]news[*]about[*]guestbook[/list] <li id="work">[img]../style/work.png[/img] <ul id="worklist" style="&{head};">[*]wip[/list] <li id="other">[img]../style/other.png[/img] <ul id="otherlist" style="&{head};">[*]forum[*]links[*]programs[/list][/list] </div> |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Softwareentwickler (w/m/d) JavaScript / HTML5 Applikationen | JAP | Jobs | 0 | 20.11.2018 11:47 |
Wort in Javascript Code einfügen; dann Javascript Code ausgeben | Sp33dy G0nz4l3s | Javascript & Ajax | 1 | 23.05.2008 10:37 |
Impressumsaufruf mit Javascript | Sinclair | Javascript & Ajax | 6 | 19.05.2008 16:41 |
Formularelement per JavaScript - Fehler bei Validierung | edv-rs | Javascript & Ajax | 3 | 06.09.2007 14:05 |
Javascript, Datentabelle und Screenreader | laborix | Barrierefreiheit | 8 | 02.04.2006 19:25 |