actieve paginalink speciale kleur geven

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 22:22
Hallo,

Ik probeer voor de links in een gelijk menu voor alle pagina's van een website, de linkkleur te kunnen veranderen van specifiek de link die overeenkomt met de huidige weergegeven pagina (zodat bezoekers bevoorbeeld weten door de kleur v.d. link op welke pagina ze juist zijn op elk moment).

In het menu zitten een 10-tal links (! het menu voeg ik makkelijk toe aan alle webpagina's doordat het menu een inc-bestand is !):
vb.
<ul>
<li><a id="link1" href="index.php">Home</a></li>
<li><a id="link2" href="referenties.php">referenties</a></li>
<li><a id="link3" href="fotos.php">fotos</a></li>
...enz.

Dus, indien men nu link 1 (index.php) zou aanklikken als bezoeker en vervolgens naar die pagina gaat...is het de bedoeling (na éénmaal op die pagina belandt) de kleur van die menu-link een afzonderlijke kleur krijgt.

Wat heb ik reeds geprobeerd:
- tot nu toe heb ik al geprobeerd om via een verwijzing naar een externe javascript-functie dit te doen lukken, echter verandert er helemaal niets van kleur (volgens mij door het laden van de pagina, waarna alles zowat terug herinitialiseert wordt)

vb. javascript-functie:

function Linkkleuring(link, kleur){
var links = document.getElementsByTagName("a");

for(var x=0; x < links.length; x++){
links.item(x).style.color = '#DFE7FF';
}

link.style.color = kleur;
}



deze functie roep ik op met wat javascript in de links zelf:
<a href="index.php" onmouseup="Linkkleuring(this, '#E7FA53');"

- ook al heb ik reeds geprobeerd dit te doen slagen door deze externe javascript-functie expliciet aan te roepen vanuit één pagina zelf.

- via css met bv. a:active of a:link is geen oplossing, mits ik steeds alleen maar de link overéénkomend met de huidige weergegeven pagina wil kleuren.

Iemand die mij kan helpen?

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Als je pagina steeds ververst werkt het javascript natuurlijk niet want de hele pagina wordt ververst. Aangezien je PHP gebruikt, kan je het beter serverside oplossen denk ik. Door de link die actief is een extra class mee te geven die voor de juiste kleur zorgt. Is wel redelijk makkelijk in PHP in ieder geval.

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • NiteSpeed
  • Registratie: Juli 2003
  • Laatst online: 21-07 18:35
Serverside oplossing. Handig als je simpelweg een paar tabjes gebruikt waar de hele pagina ververst. Laat PHP een class .active toekennen aan de geselecteerde <li>.

Clientside oplossing als je met dynamische panels werkt (bijvoorbeeld kleinere tabpanels in een pagina zelf). Gebruik JavaScript om een class .active toe te kennen aan je geselecteerde panel.

Met jQuery is het een kwestie van $(this).parent().addClass("active"); om de aangeklikte tab actief te maken. Moet je alleen zelf even nog even bedenken hoe je de class weghaalt zodra je op een andere tab klikt ;).

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 20:18

MueR

Admin Tweakers Discord

is niet lief

Dit wil je inderdaad met PHP oplossen. Clientside oplossingen zijn gewoon niet zo betrouwbaar daarin, zeker javascript niet. Met PHP een class "currentpage" ofzo meegeven en die in je CSS netjes een aparte kleur geven. Indien je per pagina een andere kleur wilt zou je het zelfs kunnen doen met een class op de body of container van je menu.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
MueR schreef op dinsdag 08 december 2009 @ 23:48:
Dit wil je inderdaad met PHP oplossen.
Mee eens.
[b][message=33069886,noline]Clientside oplossingen zijn gewoon niet zo betrouwbaar daarin, zeker javascript niet.
Deze opmerking begrijp ik in het geheel niet. Ik kan je zo een oplossing geven in Javascript die 100% betrouwbaar werkt. Wel is het minder netjes om layout m.b.v. javascript aan te passen nadat de pagina geladen is.

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 20:18

MueR

Admin Tweakers Discord

is niet lief

Ik heb genoeg plugins gezien die javascript kunnen verklieren, evenals browsers waar JS uit staat. Voor iets basaals als dit, lijkt het mij vrij loos om de request uri en eventueel query string te gaan parsen om een linkje een kleur te geven.

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1