2013-05-11 59 views
-3

我试图添加一个特定的类到标题如果滚动是在某个位置。滚动功能问题

这里是我的代码:

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

我得到头的高度,因为我有一个可以关闭一个段落,我希望在滚动去通过这个值要添加的类别

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

+0

而问题是什么? – Joseph 2013-05-11 12:15:10

回答

1

你的问题是,你只是测试滚动位置一次,而不是每当窗口滚动时检查它。你需要做的是将一个函数附加到scroll事件本身上,这样,无论何时滚动文档,代码都会执行。就像这样:

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

如果你想从<header>删除.scroll当用户滚动回到它的高度以上,那么你可以在以下else条款添加到if以上:

else { 
    $('header').removeClass('scroll'); 
}