Javascript highlight CSS

Status
Niet open voor verdere reacties.

alain1988

Terugkerende gebruiker
Lid geworden
29 jan 2010
Berichten
1.175
Beste,

momenteel gebruik ik voor een geopende pagina aan te tonen het volgende
HTML:
 <li class="current"><a href="index.php">Home</a></li>
header.png
nu ben ik de site aan het wijzigen en wil ik het menu plaatsen in menu.php
dit zal ik doen met een include functie maar nu is mijn vraag hoe pas ik het zelfde toe is er een javascript code die dit kan doen

de code zou moeten kijken welke pagina er geopen is en dan li class="current" moeten plaatsen.
 
Dat kan inderdaad wel met javascript (window.location geeft de url van de huidige pagina) maar ik denk dat PHP een betere oplossing is, dat werkt altijd, ook als je bezoeker javascript uit heeft staan. Bovenaan het menu.php document (tussen <?php ?> uiteraard plaats je dan deze code.
Code:
function controle($pagina)
{
	$script = $_SERVER['SCRIPT_NAME'];
	$locatie = basename($script);
	if ($locatie == $pagina) 
	{
 	    echo "current";
	}
}
De <li> van je menu kun je dan zo maken.
Code:
<li class="<?php controle('index.php') ?>"><a href="index.php">Home</a></li>
<li class="<?php controle('about.php') ?>"><a href="about.php">About</a></li>
etcetera.
Uiteraard is dit niet de enige manier om met php de controle uit te voeren.
 
Laatst bewerkt:
ok heb deze code uitgevoerd maar nu staan alle paginas op de css van geopende pagina's het onderste is wat ik had in het orginele html
HTML:
<nav>  
                <ul class="menu">
                                

                     <li><a href="index.php">Home</a></li>
                      <li class="current"><a href="about.php">About</a></li>
                      <li><a href="services.php">Services</a></li>
                      <li><a href="portofolio.php">Portofolio</a></li>
                      <li><a href="contacts.php">Contacts</a></li>
                  </ul>
              </nav>
              <div class="clear"></div>
1.png
 
Er zat inderdaad een fout in m'n code door een wijziging op het laatste moment (vreemd dat je geen foutmelding kreeg). Probeer het nog eens met
Code:
function controle($pagina)
{
	$script = $_SERVER['SCRIPT_NAME'];
	$locatie = basename($script);
	if ($locatie = $pagina) 
	{
 	    echo "current";
	}
}
 
ok heb het gevonden waar de fout lag

if ($locatie = $pagina) moest if ($locatie == $pagina) worden

allesinds bedankt voor de hulp hoor :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan