1. #1

    Registered
    22/12/09
    Location
    Ravels
    Posts
    35
    iTrader
    0
    Mentioned
    0 Post(s)

    Active menu item

    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...
    www.peades.be - eenvoudige websites voor ieders budget
    no votes  

  2. #2
    Zero Grav's Avatar
    Registered
    06/06/04
    Location
    Bilzen
    Posts
    8,805
    iTrader
    18 (100%)
    Mentioned
    0 Post(s)
    Reputation
    42/128
    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.
    no votes  

  3. #3
    adrianhates's Avatar
    Registered
    23/01/06
    Posts
    2,115
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    23/23
    PHP Code:
    <?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 Code:
    <?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 Maar klaat die uitleg maar staan..
    Last edited by adrianhates; 04-04-2010 at 18:55.
    no votes  

  4. #4

    Registered
    22/12/09
    Location
    Ravels
    Posts
    35
    iTrader
    0
    Mentioned
    0 Post(s)
    Ik zou het toch graag met die JS doen, het heeft gewerkt maar nu plots niet meer en ik weet niet waarom ?!
    www.peades.be - eenvoudige websites voor ieders budget
    no votes  

  5. #5
    adrianhates's Avatar
    Registered
    23/01/06
    Posts
    2,115
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    23/23
    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?
    Last edited by adrianhates; 04-04-2010 at 19:59.
    no votes  

  6. #6

    Registered
    22/12/09
    Location
    Ravels
    Posts
    35
    iTrader
    0
    Mentioned
    0 Post(s)
    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.
    www.peades.be - eenvoudige websites voor ieders budget
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in