J'ai une configuration de masquage/affichage de panneau qui est déclenchée à partir d'une ancre d'élément de liste. Fonctionne très bien. Le problème est, j'ai aussi un menu déroulant dans la navigation du site qui doit également déclencher chaque panneau, à partir de n'importe quelle page sur le site. Comme dire, j'ai des panneaux (dans cet ordre), "Matériel", "Logiciel", "Accessoires" sur la page Produits. Donc, quand je suis sur la page À propos de, et que je clique sur "Logiciel", le résultat attendu est de m'amener à la page Produits et d'ouvrir le panneau "Logiciel". Voici mon script jquery pour le panneau:Passer une variable pour déclencher le masquage/affichage des panneaux
$("ul#product-type li a").click(function() {
$("ul#product-type li").removeClass("selected");
$(this).parent().addClass("selected");
var currentTab = $(this).attr("href");
$("div.panel").hide();
$(currentTab).show();
return false; });
Nav Markup Dropdown:
<ul id="nav">
<li><a href="/products/#hardware"><span>Hardware</span></a></li>
<li><a href="/products/#software"><span>Software</span></a></li>
<li><a href="/products/#accessories"><span>accessories</span></a></li>
J'ai essayé d'ajouter le sélecteur de navigation à la fonction de clic, mais cela ne fonctionne pas. Toute idée ou suggestion serait grandement appréciée.
Cheers, Ryan
Merci Nick! Cela a bien fonctionné. ma fonction de clic ressemble maintenant à: $ ("# nav li ul li a, ul # type de produit li a"). click (function() { Pensez-vous qu'il existe un moyen de garder la classe "sélectionnée" lorsque vous cliquez sur le lien #nav? En ce moment, il supprime simplement la classe "sélectionnée" de l'ul # product-type li et l'ajoute à "nav li ul li" –
@Ryan - Je changerais $ ("ul # product-type li"). removeClass ("selected"); 'à $ (" ul # type-produit li "). not ($ (this) .parents()). removeClass (" selected ") ; 'exclure la chaîne parente si c'est ce que vous recherchez. –