Archief - Active menu item

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

brutal

Legacy Member
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...

Zero Grav

Legacy Member
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.

adrianhates

Legacy Member
PHP:
<?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>

Dit 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.

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:
<?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:
jQuery(document).ready(function(){
    $('h1').text($('#mainnav li a.active').attr('title'));
});
(code is niet gecontroleerd op syntax fouten)

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:
Fout !

bericht kon niet verstuurd worden, gebruik het menu om het opnieuw te proberen !
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.. :)

edit2:
Ik denk na herlezen toch dat ik de vraag goed had begrepen :D Maar klaat die uitleg maar staan..

brutal

Legacy Member
Ik zou het toch graag met die JS doen, het heeft gewerkt maar nu plots niet meer en ik weet niet waarom ?!

adrianhates

Legacy Member
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?

brutal

Legacy Member
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.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan