jquery hasClass“active”on ul#navigation li on page load not working

时间:2009-10-27 19:04:19

标签: jquery css html-lists

$(document).ready(function(){

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

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

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

    });
});

我有一个导航栏,我正在使用此代码为悬停添加透明效果:

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

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

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

    },function(){

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

    });

});

我也在使用hoverIntent。

不透明度翻转是一种享受,但我希望我的“活跃”页面具有100%的不透明度,但我似乎无法让它发挥作用......我做错了什么?

问题HTML中的链接是:

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

导航工作完美,减去我的“主动”课程,所以我认为我提供了所有必要的代码。

2 个答案:

答案 0 :(得分:1)

您不需要hasClass测试。你可以替换......

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

用这个......

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

答案 1 :(得分:0)

而不是.click(),你可能想要.each(),但你可以做得更简单:)

在您的网页加载中,您可以使用:not() selector

执行此操作
$("li:not(.active)").fadeTo("slow", 0.6);

这只会淡出 <li>

class="active"