Thread: Active menu item
-
04-04-2010, 15:24 #1Member
- Registered
- 22/12/09
- Location
- Ravels
- Posts
- 35
- iTrader
- 0
- Mentioned
- 0 Post(s)
Active menu item
Ik heb een javascriptje gevonden waarmee je de actieve link zou moeten kunnen weergeven. Ik heb hier een test staan maar om een voor mij onduidelijke reden werkt het niet: Wat doen we
Wil iemand mij hiermee nog eens op weg helpen...www.peades.be - eenvoudige websites voor ieders budgetno votes
-
-
04-04-2010, 16:57 #2Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Als ge gewoon op uw actieve pagina bij de gepaste link een id toevoegt dan kunt ge in css gaan bepalen hoe die eruit moet zien. Javascript is hier niet voor nodig.
no votes
-
04-04-2010, 18:09 #3Dit is ook wat zero grav bedoelt maar dan met een class. In principe zou je een id kunnen gebruiken maar dan kan je nergens anders nog de identifier "active" gebruiken, bijvoorbeeld in een footer menu of een sidebar navigatie.PHP Code:
<?php
$currentpage = 1;
?>
<ul>
<li><a href=""<?php if($currentpage == 1) echo ' class="active"';?>>Home</a>
<li><a href="about"<?php if($currentpage == 2) echo ' class="active"';?>>About</a>
<li><a href="contact"<?php if($currentpage == 3) echo ' class="active"';?>>Contact</a>
</ul>
edit:
however , ik denk dat ik(/wij?) de vraag verkeerd begrijpen. Topicstarter wilt volgens mij via javascript de header op zijn content sectie invullen variabel aan het active menu item.
Dan kan je wel bvb met jquery dit doen:
PHP Code:<?php
$currentpage = 1;
?>
<ul id="mainnav">
<li><a href=""<?php if($currentpage == 1) echo ' class="active"';?> title="Homepage">Home</a>
<li><a href="about"<?php if($currentpage == 2) echo ' class="active"';?> title="About us">About</a>
<li><a href="contact"<?php if($currentpage == 3) echo ' class="active"';?> title="Contact us">Contact</a>
</ul>(code is niet gecontroleerd op syntax fouten)Code:jQuery(document).ready(function(){ $('h1').text($('#mainnav li a.active').attr('title')); });
Waarbij dus de h1 text dynamisch wordt gezet naar uw title van de active link in de lijst met identifier mainnav.
Maar da is eigelijk niet de manier om het te doen. Je zou uw titel toch wel met PHP of op een statische manier moeten invullen door deze te hard coden. Tenzij ge met ajax zit te werken, maar dan moet er ook eigelijk ook een php implementatie van uw website gebouwd zijn..
trouwens:
OP uw contactpagina zie ik dit na het incorrect invullen van het formulier:
doe uw validatie en mail verzending gewoon op dezelfde pagina en met functies. Hierdoor krijgt de gebruiker een betere ervaring door dat hij simpel weg zijn formulier snel kan nakijken + hij hoeft al minstens 2 keer minder te klikken..Fout !
bericht kon niet verstuurd worden, gebruik het menu om het opnieuw te proberen !
edit2:
Ik denk na herlezen toch dat ik de vraag goed had begrepen
Maar klaat die uitleg maar staan..
Last edited by adrianhates; 04-04-2010 at 18:55.
no votes
-
04-04-2010, 18:55 #4Member
- Registered
- 22/12/09
- Location
- Ravels
- Posts
- 35
- iTrader
- 0
- Mentioned
- 0 Post(s)
Ik zou het toch graag met die JS doen, het heeft gewerkt maar nu plots niet meer en ik weet niet waarom ?!
www.peades.be - eenvoudige websites voor ieders budgetno votes
-
04-04-2010, 19:17 #5
ge roept een functie op bij onclick van een anchor. Uw functie zal wss toegepast worden maar heeft geen enkel nut omdat ge naar uw nieuwe pagina gaat en dus ook uw content reset..
uw functie werkt wel degelijk zenne
allen moet ge u default actie vermijden of annuleren. bvb door
return false;
bij in uw code te zetten
of met jquery
e.preventDefault();
en return false;
mo wederom, echt ni de manier om het te doen ze, leg het totaalplaatje is uit wat je probeert te bereiken?Last edited by adrianhates; 04-04-2010 at 19:59.
no votes
-
05-04-2010, 12:29 #6Member
- Registered
- 22/12/09
- Location
- Ravels
- Posts
- 35
- iTrader
- 0
- Mentioned
- 0 Post(s)
ALs ge hoovert zie je die tonnekes.
Ik wil dat bij de active link dietonnekes blijven bestaan.
Maar ik heb het intussen opgelost met PHP.
Elke pagina ingedeeld als volgt:
---
$title = xxx
include header (hierin zit header + menu)
de pagina inhoud (de content van elke pagina)
include footer (de footer)
---
en dan in de header/menu
<?php if($title == 'xxx') echo 'class="active_link"'; ?>
Dat is inderdaad stukken gemakkelijker dan eerst.
bedankt.www.peades.be - eenvoudige websites voor ieders budgetno votes
