hasClass不读取每个事件的类添加

时间:2014-09-11 02:08:06

标签: jquery

我尝试以下方法来确定滚动事件类之后添加的内容,但不起作用,有人知道为什么吗?

// works
$(window).scroll( function(){
    $('#header .sticky').addClass('test');
});

// not work
if ($('#header .sticky').hasClass("test")) {
    alert('worksssssssss');
}

jsfiddle

1 个答案:

答案 0 :(得分:2)

var $sticky = $('#header .sticky'); // Cache your elements

function testMyClass() {            // Wrap in function
    if ($sticky.hasClass("test")) {
        alert('worksssssssss');
    }
}

$(window).scroll(function () {
    $sticky.addClass('test');
    testMyClass();                 // And call your fn wherever you want.
});

不确定你所追求的是什么,上面会经常烦恼地产生“workssssss” 另请注意,将一个类重新添加到DOM元素或者测试元素是否具有类时,滚动事件非常昂贵。您可能希望使用.one("scroll", function)方法或添加标记。