Beste Leden,
Ik ben een hobbiest met enige HTML, CSS en PHP kennis. Helaas behoort Javascript hier niet toe. Tot op heden heb ik hier ook nauwelijks gebruik van gemaakt waardoor mijn kennis nihil is.
Het kan zijn dat ik niet de juiste zoekworden heb gebruikt, maar het aantal snippets op het internet was nogal gering. De meeste scripts waren zeer eenvoudige show/hide functies zoals je ziet bij FAQ pagina's (uitklappen van een antwoord). In mijn geval wil ik de content van één div aansturen d.m.v. een onClick functie uit het hoofdmenu.
Bijv:
- Hoofdmenu: (1)leden (2)wedstrijden
- Context div: (1) Leden ovezicht - Lid aanmaken (2) Wedstrijden overzicht - Wedstrijd aanmaken
Vanuit de topbar kan er dus een item (leden of wedstrijden) aangeklikt worden. Vervolgens toont het submenu de bijbehorende links. Het probleem is echter dat als je op de huidige link uit het hoofdmenu klikt én actief is, de subbar verdwijnt, dit is lelijk voor de opmaak en voelt vreemd aan. Zodra je het niet-geselecteerde item uit het hoofdmenu aanklikt, dan is er geen probleem.
De gewenste oplossing zou zijn:
- Indien de huidige link uit het hoofdmenu reeds is geselecteerd, de onClick functie ongedaan maken zodat de functie niet aangeroepen wordt (HTML)
- De link blijft klikbaar maar de functie detecteert allereerst of deeze reeds is geselecteerd en zodra deze gelijk zijn, dan return false (JS).
Mijn voorkeur gaat uit naar de laatsgenoemde oplossing, dus een controlle inbouwen in de JS. Kan iemand mij in de juiste richting helpen?
Hoofd menu
Sub-menu
Ik hoop iets te leren dus een linkje in de goede richting zou mij enorm helpen
Ik ben een hobbiest met enige HTML, CSS en PHP kennis. Helaas behoort Javascript hier niet toe. Tot op heden heb ik hier ook nauwelijks gebruik van gemaakt waardoor mijn kennis nihil is.
Het kan zijn dat ik niet de juiste zoekworden heb gebruikt, maar het aantal snippets op het internet was nogal gering. De meeste scripts waren zeer eenvoudige show/hide functies zoals je ziet bij FAQ pagina's (uitklappen van een antwoord). In mijn geval wil ik de content van één div aansturen d.m.v. een onClick functie uit het hoofdmenu.
Bijv:
- Hoofdmenu: (1)leden (2)wedstrijden
- Context div: (1) Leden ovezicht - Lid aanmaken (2) Wedstrijden overzicht - Wedstrijd aanmaken
Vanuit de topbar kan er dus een item (leden of wedstrijden) aangeklikt worden. Vervolgens toont het submenu de bijbehorende links. Het probleem is echter dat als je op de huidige link uit het hoofdmenu klikt én actief is, de subbar verdwijnt, dit is lelijk voor de opmaak en voelt vreemd aan. Zodra je het niet-geselecteerde item uit het hoofdmenu aanklikt, dan is er geen probleem.
De gewenste oplossing zou zijn:
- Indien de huidige link uit het hoofdmenu reeds is geselecteerd, de onClick functie ongedaan maken zodat de functie niet aangeroepen wordt (HTML)
- De link blijft klikbaar maar de functie detecteert allereerst of deeze reeds is geselecteerd en zodra deze gelijk zijn, dan return false (JS).
Mijn voorkeur gaat uit naar de laatsgenoemde oplossing, dus een controlle inbouwen in de JS. Kan iemand mij in de juiste richting helpen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| function menuContext (target) { var artz = document.getElementsByClassName('ribbon_context_item'); var targ = document.getElementById(target); var isVis = targ.style.display == 'block'; for(var i=0; i <artz.length; i++) { artz[i].style.display = 'none'; } targ.style.display = isVis ? 'none' : 'block'; } |
Hoofd menu
code:
1
2
3
4
| <div class="ribbon_item" onClick="menuContext('leden(')"> <img src="../IMG/icons/ribbon/relations.png"> <p>Ledenbeheer</p> </div> |
Sub-menu
code:
1
2
3
| <div id="leden" class="ribbon_context_item" style="display: block"> Overzicht | Lid toevoegen | Statistieken </div> |
Ik hoop iets te leren dus een linkje in de goede richting zou mij enorm helpen
