2009-10-27 3 views
0
$(document).ready(function(){ 

$("li").click(function(){ 

    if ($(this).hasClass("active")) 

      $(this).fadeTo("slow", 1.0); 

    }); 
}); 

J'ai une barre de navigation fait et je suis en utilisant ce code pour ajouter un effet de transparence sur le vol stationnaire:jquery hasClass « actif » sur la navigation ul # li la charge page ne fonctionne pas

$(document).ready(function(){ 
$(".thumbs").fadeTo("slow", 0.6); 

$(".thumbs").hover(function(){ 

    $(this).fadeTo("slow", 1.0); 

    },function(){ 

    $(this).fadeTo("slow", 0.4); 

    }); 

}); 

Je suis également en utilisant hoverIntent.

Le survol d'opacité est un régal, mais j'aimerais que ma page "active" ait une opacité de 100%, mais je n'arrive pas à la faire fonctionner ... qu'est-ce que je fais de mal?

le lien HTML dans les questions est:

<ul id="navigation"> 
    <li class="active"><a href="page.htm"></a></li> 
</ul> 

le nav fonctionne parfaitement moins ma classe « active » donc je pense que j'ai fourni tout le code nécessaire.

+0

Qu'est-ce que vous dites ne fonctionne pas? le fadeto vous avez dans la première section de code jquery? – TStamper

+0

Désolé Le fondu entrant/sortant fonctionne très bien en stationnaire. Je voudrais que tout LI avec une classe de "active" ait son opacité à 100%. J'utilise php pour déterminer quelle est la page, puis ajouter une classe "active" à la li. mais l'opacité ne s'applique pas - FadeTo ne fonctionne-t-il que sur un vol stationnaire? – Ross

+0

peut-être vous avez besoin de reformuler votre question, parce que personne ne sait ce que la classe «active» est, sauf si vous le montrez. donc votre problème est votre classe que vous appliquez ne fonctionne pas? – TStamper

Répondre

1

Vous n'avez pas besoin du test hasClass. Vous pouvez remplacer ...

$("li").click(function(){ 
    if ($(this).hasClass("active")) 
      $(this).fadeTo("slow", 1.0); 
    }); 
}); 

cette .....

$("li.active").click(function(){ 
    $(this).fadeTo("slow", 1.0); 
}); 
0

Au lieu de .click(), vous voulez probablement .each() ici, mais vous pouvez le faire encore plus simple que ça :)

Sur votre chargement de la page, vous pouvez simplement le faire en utilisant le :not() selector:

$("li:not(.active)").fadeTo("slow", 0.6); 

Cela va seulement disparaître le <li>class="active"

Questions connexes