2013-05-11 82 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'); 
}