-3

如果滚动条位于某个位置,我正在尝试将某个类添加到标题中。

这是我的代码:

var headerHeight = $('header').height();
if($(window).scrollTop()==headerHeight) {
   $('header').addClass('scroll');
}

我得到了标题的高度,因为我有一个可以关闭的段落,我希望当滚动条通过这个值来添加类

问题是为什么我的功能不起作用

4

1 回答 1

1

您的问题是您只是测试一次滚动位置,而不是在滚动窗口时检查它。您需要做的是将一个函数附加到scroll事件本身,以便在滚动文档时执行您的代码。像这样:

var headerHeight = $('header').height();
$(document).scroll(function(){
    var $this = $(this);
    if ($this.scrollTop() >= headerHeight) {
         $('header').addClass('scroll');
    }
});

如果您想.scroll<header>用户滚动回其高度以上时删除,则可以在上面添加以下else子句if

else {
     $('header').removeClass('scroll');
}
于 2013-05-11T12:22:51.400 回答