仅当元素不是特定类时,jquery才应用不透明度

时间:2011-12-28 21:15:24

标签: jquery conditional css-selectors opacity

我尝试构建一些图形,用0.5不透明度初始化它们,当悬停或点击时,不透明度变为1.(它是页面文章选择元素的一部分 - 选项卡类似但不是标签) 我可以将鼠标悬停在位上,但添加代码来处理点击的部分,我认为当鼠标离开元素时,悬停事件会过度使用。 如果我将一个类添加到已被点击的元素中说"选择"有没有办法只有在没有class =" select"。

的情况下才可以应用悬停元素

这是我糟糕的代码!

$(document).ready(function() {

        $('.pic').stop().animate({ opacity: 0.5 }, 250);

        $('.pic').each(function() {
            $(this).hover(function() {
                $(this).stop().animate({ opacity: 1.0 }, 250);
            },
           function() {
               $(this).stop().animate({ opacity: 0.5 }, 250);
           });

           $(this).click(function() {
               alert('Clicked');
               $('.pic').stop().animate({ opacity: 0.5 }, 250);
               $(this).stop().animate({ opacity: 1.0 }, 250);
           });

        });
    });

有更好(更清洁)的方法吗?

我尝试使用CSS并使用Jquery来更改css类,但是不能让它继续工作,所以回到这一点。

谢谢

1 个答案:

答案 0 :(得分:1)

检查有问题的元素hasClass()并做一些事情,如果它没有......

示例:

if(!$(this).hasClass('selected')){  
  // do stuff
}