Vai al contenuto

CSS: proprietà a:active che funziona nelle relative pagine aperte


Messaggi raccomandati

Ciao a tutti

chiedo ai piu esperti del forum..


Come posso arrivare a questa soluzione, in foto (esternando i menu in html con ajax include)? Ho saputo che ci sono dei javascript o jquery che aiutano in questi passaggi...

 

Vorrei arrivare a questa soluzione, ovviamente con il rosso che cambia per tutte le pagine...Ce ne sono una marea di script e moltissimi non funzionano... grazie  :ok:

 

menu3.jpg

Link al commento
Condividi su altri siti

Signori ma si sono cancellate le risposte???  :oops:

 

Avevo messo un link per rendere l' idea

 

http://simonelavoriweb.altervista.org/active/index.html

 

Come vedete l'hover è impostato con background rosso, l' active pure (nel css) ma quando clicco su CHI SIAMO, lui non riconosce che si trova su CHI SIAMO e quindi lascia il menu senza proprieta... ma solo con quella data nel classico a:link.

 

Potete aiutarmi? So di javascript che fanno questa cosa... che "capisce" dove si trova la pagina e attiva il suo relativo menu secondo la proprietà data.. Grazie

 

PS: uso per i menu ajax include  :ok:

Link al commento
Condividi su altri siti

$(document).ready(function() {
    $page = location.href.split("/");
    $page = $page[$page.length-1].split('?')[0]
    if(!$page) {
     $page = 'index.php';
    }
    $('.menu ul li a').each(function(){
     var $href = $(this).attr('href');
     if ( ($href == $page) || ($href == '') ) {
            $(this).addClass('on');
        } else {
            $(this).removeClass('on');
        }
    });
    
});

 

crei la classe on che è la stessa di hover, e funziona tutto...

Link al commento
Condividi su altri siti

se il sito è in un linguaggio lato server (ed es. PHP), una soluzione più modulare è recuperare il nome della pagina ("chi_siamo.php" ad esempio) e nel punto in cui c'è il link html eseguire controllo: se la pagina del link è uguale alla pagina corrente aggiungere la classe "current" (o qualunque altro nome tu voglia darle) che evidenzia il menù corrente.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

$(document).ready(function() {

    $page = location.href.split("/");

    $page = $page[$page.length-1].split('?')[0]

    if(!$page) {

     $page = 'index.php';

    }

    $('.menu ul li a').each(function(){

     var $href = $(this).attr('href');

     if ( ($href == $page) || ($href == '') ) {

            $(this).addClass('on');

        } else {

            $(this).removeClass('on');

        }

    });

    

});

 

crei la classe on che è la stessa di hover, e funziona tutto...

 

grazie.. ma ti chiedo qualche info in piu in quanto leggendolo credo ci sia qualcosa che non torna :)

vedo index.php... ciò significa che non tiene in memoria un evento (in questo caso il click) ma bensi bisognerebbe inserirlo a tutte le pagine cambiando il nome della pagina, giusto? Se così fosse non risolverebbe il mio problema in quanto vorrei usarlo con "i menu con ajax include".  :angiolettoim:

 

Pix purtroppo il sito è realizzato interamente in html.. solo una pagina per le news sarà gestita in php con un mini mini mini cms...  ma qui con il php non è compito mio perché me lo faccio realizzare  :prrrr:

Link al commento
Condividi su altri siti

nello script di Mel, index viene usata come pagina di default nel caso nell'url non sia specificata una pagina particolare (coma accade alla homepage quando si apre un sito).

 

quindi puoi già usarla come include in tutte le pagine senza modificarla.

 

suggerivo PHP perchè tendenzialmente lavorare lato server è preferibile, ma nel tuo caso non praticabile a quanto pare.

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...