如果滚动条位于某个位置,我正在尝试将某个类添加到标题中。
这是我的代码:
var headerHeight = $('header').height();
if($(window).scrollTop()==headerHeight) {
$('header').addClass('scroll');
}
我得到了标题的高度,因为我有一个可以关闭的段落,我希望当滚动条通过这个值来添加类
问题是为什么我的功能不起作用
如果滚动条位于某个位置,我正在尝试将某个类添加到标题中。
这是我的代码:
var headerHeight = $('header').height();
if($(window).scrollTop()==headerHeight) {
$('header').addClass('scroll');
}
我得到了标题的高度,因为我有一个可以关闭的段落,我希望当滚动条通过这个值来添加类
问题是为什么我的功能不起作用
您的问题是您只是测试一次滚动位置,而不是在滚动窗口时检查它。您需要做的是将一个函数附加到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');
}