li active

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Rietveld

Niels Rietveld

23/02/2015 19:09:35
Quote Anchor link
Hallo,
Hoe kan ik ervoor zorgen zonder dat als ik met li een menu maak, en ik op dat moment op ik op een pagina ben waaraan een bepaalde li gekoppeld is hij de li active stijl aanneemt uit CSS.
 
PHP hulp

PHP hulp

19/12/2024 05:41:30
 
Pipo Clown

Pipo Clown

23/02/2015 19:12:08
Quote Anchor link
Probeer het eens met een class
 
Niels Rietveld

Niels Rietveld

23/02/2015 19:13:23
Quote Anchor link
Dat wou ik juist vermijden
 
- Ariën  -
Beheerder

- Ariën -

23/02/2015 19:16:54
Quote Anchor link
En om welke reden dan?
 
Niels Rietveld

Niels Rietveld

23/02/2015 19:21:45
Quote Anchor link
Omdat ik niet voor elke pagina een bestand aanmaak

Toevoeging op 23/02/2015 19:22:25:

Met een active class en dan in html de bepaalde li li class="active" te geven heb ik al genoeg ervaring
 
Thomas van den Heuvel

Thomas van den Heuvel

23/02/2015 19:55:45
Quote Anchor link
Als je pagina / je menu dynamisch wordt samengesteld (bijvoorbeeld door gebruikmaking van PHP) en je een manier hebt om je pagina uniek te identificeren kun je automatisch een class toevoegen aan zo'n menu.

De vraag is dus: maakt je website gebruik van PHP (of iets soortgelijks) en kun je op een of andere manier je pagina's ondescheiden?

Anders zul je iets in JavaScript moeten prutten ofzo...
 
Niels Rietveld

Niels Rietveld

23/02/2015 19:58:52
Quote Anchor link
PHP
Ze zijn de onderscheiden met een ID
 
Thomas van den Heuvel

Thomas van den Heuvel

23/02/2015 20:06:45
Quote Anchor link
Dan kun je de code om het menu te schrijven hier op in laten spelen - deze code hoef je maar 1x te schrijven.

Je doorloopt de lijst van pagina's die je wilt afdrukken, en je controleert of de pagina die je afdrukt de huidige is, en zoja, voeg je een class toe, zoiets dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// aanpassen aan hoe jij bepaalt welke pagina's je wilt laten zien
$allePaginas = array(
    1 => 'Titel 1',
    2 => 'Titel 2',
    3 => 'Titel 3',
    4 => 'Titel 4',
);

?>
<ul><?php
foreach ($allePaginas as $paginaNummer => $paginaTitel) {
    // $huidigePaginaNummer bevat het id van de huidige pagina
    $actievePagina = ($huidigePaginaNummer == $paginaNummer);
    $class = ($actievePagina ? ' class="active"' : '');
    ?>
<li<?php echo $class ?>><?php echo $paginaTitel ?></li><?php
}
?>
</ul>

EDIT: en dan hier nog linkjes inbakken natuurlijk.
Gewijzigd op 23/02/2015 20:09:43 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.