jquery hasClass "активный" на ul # навигация li на загрузке страницы не работает - PullRequest
0 голосов
/ 27 октября 2009
$(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 ]

1 голос
/ 15 декабря 2009

Вам не нужен тест hasClass. Вы можете заменить ...

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

с этим .....

$("li.active").click(function(){
    $(this).fadeTo("slow", 1.0); 
});
0 голосов
/ 17 апреля 2010

Вместо .click() вы, вероятно, захотите .each() здесь, но вы можете сделать это еще проще:)

На странице загрузки вы можете просто сделать это, используя селектор :not() :

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

Это только затухает <li>, который не имеет class="active"

...