Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Script per aggiungere classi dinamicamente a menu

    Buongiorno a tutti,
    utilizzo questo script trovato in rete per far si che un menu, incluso dinamicamente, abbia impostata la classe CSS "current" quando ci trova nella pagina corrente.
    Premetto che la mia homepage è di default senza "index.php". Come dire che se si mette la index.php viene fatto redirect al dominio base, per non avere contenuti duplicati, motivo per il quale ho aggiunto all'ultima parte il ciclo if.

    Pero' se la pagina corrisponde al solo dominio (www.dominio.it) il ciclo if non mi viene comunque eseguito... Ovviamente il link nel menu (nel tag "a") è proprio solamente il link al dominio...

    Dove sbaglio? grazie in anticipo!

    codice:
    $(document).ready(function(){
    	var sottocartella = "";
    	var dominio = "http://" + window.document.domain + "/" + sottocartella;
    	var file_name = document.location.href;
    	var end = (file_name.indexOf("?") == -1) ? file_name.length : file_name.indexOf("?");
    	var pagina = file_name.substring(file_name.lastIndexOf("/")+1, end);
    	if (pagina == "") {
    		$("a[href='" + dominio + "']").addClass("current");
    	} else {
    		$("a[href='" + dominio + pagina + "']").addClass("current");
    	}
    });
    Ehm.. si può anche chiudere... mio errore grossolano
    mancava uno slash dopo il link al dominio

  2. #2
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569

    Re: Script per aggiungere classi dinamicamente a menu

    Il queryselector evidentemente non riconosce il modo di ottenere un attributo con la notazione CSS ([href="..."]).
    Potresti assegnare un id al tag e richiamarlo con $("id")...

    Ad ogni modo, nell'ultimo if la condizione è vera?
    A volte la soluzione a un problema è sempre la più semplice...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Ciao,
    si si avevo già risolto, funziona perfettamente, semplicemente il mio link nel menu era "www.dominio.it/" con lo slash finale e quindi non matchava....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.