navigatie met verschillende frames

Status
Niet open voor verdere reacties.

lelinxus

Nieuwe gebruiker
Lid geworden
29 okt 2007
Berichten
1
hey vraagje:
ik ben een site aan het bouwen met 2 frames. de topFrame die ik gebruik als navigatie en een mainFrame. omdat mijn navigatiebar zoveel links bevatte dat het wanordelijk werd heb ik een javascriptje toegevoegd die de link die aangeklikt werd in het bold zet (en uiteraard deze link ook weergeeft in de mainFrame). dit werkt heel erg goed zodat de gebruiker op elk ogenblik weet waar hij zich precies bevind.
nu heb ik echter een probleem, want in de pagina's die in de mainFrame worden weergegeven zitten uiteraard ook links, bijvoorbeeld naar de volgende pagina uit een reeks. als ik hier op klik is de link die in de topFrame in het bold stond uiteraard niet meer up to date... mijn vraag is dus of het mogelijk is via een javascript de font in een andere frame aan te passen? dus als ik in de mainFrame op "next page" klik dat de topFrame navigatie zich aanpast en nu page2 in het bold zet, want daar begeef ik me op dit moment...
ik hoop dat het een beetje duidelijk was.
le linxus
 
En met de terug- en volgende-knop van de browser gaat het effect ook verloren. :)

De oplossing is:
  • aansturen met een onload="functie()" in de frame-tag van het mainframe
    zo heb je geen onload in alle pagina's nodig :)
  • de functie in het frameset (index) leest de location.href van de main pagina
  • gaat vervolgens alle links uit het menu langs (menu.document.links array)
  • als de link overeenkomt wordt de style (.className) bold gemaakt en anders niet.

Voorbeeldje:
PHP:
 <title>Menu met hover en terugkoppeling | Egel 070505 ;)</title>

<script type="text/javascript">
 <!--
  // Egel 070505 ;)
  var isLoaded = false;
  function feedback() {
   if (isLoaded) {
    var hr = main.document.location.href;
    for (var i = 0; i < menu.document.links.length; i++) menu.document.links[i].className = (hr.indexOf(menu.document.links[i].href) > -1 ? 'b' : 'a');
    };
   };

 // -->
</script>


 <frameset cols="200,*" onload="isLoaded=true; feedback();">
  <frame name="menu" src="menu_i.html" onload="feedback();">
  <frame name="main" src="pages/main.html" onload="feedback();">
 </frameset>
:cool: ;)


Vr.Gr. Egel.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan