Ik wil graag in HTML een tree list maken, zoals bijvoorbeeld die van Windows verkenner. Ik maak gebruik van geneste unordered lists in html zoals:
Ik kan de lijsten al in en uitvouwen door gebruik te maken van stylesheets in combinatie met javascript. Dit gaat probleem loos.
Maar nu wil ik graag het listitem wat wordt aangeklikt blauw maken. Hiervan verander ik de class van het listitem.
Nu wil ik ervoor zorgen dat de eerder geselecteerde items allemaal weer een witte achtergrond hebben. Ik zoek de hoogste ul list op en ga alle listitems af stel de class in. Nu wil ik bekijken of deze listitems nog weer unorderedlist in zich heeft, maar dit krijg ik niet voor elkaar.
Hoe kan ik mbv javascript na gaan of er nog een <UL> list onder een listitem zit. Als ik dit heb, kan ik listitems selecteren zonder dat alles op een gegeven moment blauw is geselecteerd.
Alvast bedankt voor jullie medewerking!!!
Oeps kan iemand mijn topic verplaatsen naar Webdesign & Graphics?
Ik kan de lijsten al in en uitvouwen door gebruik te maken van stylesheets in combinatie met javascript. Dit gaat probleem loos.
Maar nu wil ik graag het listitem wat wordt aangeklikt blauw maken. Hiervan verander ik de class van het listitem.
HTML:
1
2
3
| <ul> <li><a onclick="searchParentTag(this, 'LI').className = 'high';"> klik </a></li> </ul> |
Nu wil ik ervoor zorgen dat de eerder geselecteerde items allemaal weer een witte achtergrond hebben. Ik zoek de hoogste ul list op en ga alle listitems af stel de class in. Nu wil ik bekijken of deze listitems nog weer unorderedlist in zich heeft, maar dit krijg ik niet voor elkaar.
Hoe kan ik mbv javascript na gaan of er nog een <UL> list onder een listitem zit. Als ik dit heb, kan ik listitems selecteren zonder dat alles op een gegeven moment blauw is geselecteerd.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| function highlight(el) { // Eerst ul tag zoeken ul = searchParentTag(el, 'UL') // Hoogste unordered list zoeken while (ul.parentNode.parentNode.tagName == 'UL') { ul = ul.parentNode.parentNode; } // Van de hoogste list de achtergron weer resetten resetHighlight(ul); // Row selecteren li = searchParentTag(el, 'LI') li.className = 'high' } function resetHighlight(ul) { var i = 0; // Alle listitems af gaan while(i < ul.childNodes.length) { // Message weergeven alleen voor het debuggen alert (ul.childNodes[i].nodeName); // Class weer resetten ul.childNodes[i].className = 'high' // Hier moet ik van de listitems controleren of er ul list inzit // resetHighlight(ul.childNodes[i]) // Ophogen i ++; } } |
Alvast bedankt voor jullie medewerking!!!
Oeps kan iemand mijn topic verplaatsen naar Webdesign & Graphics?
[ Voor 12% gewijzigd door DarkSilence op 01-08-2005 16:37 ]