2013-06-25 102 views
1

我正在研究一個項目,該項目是一系列頁面上的帖子,當瀏覽器滾動時,類僅添加到該帖子中。我在這裏有一個工作理念:http://jsfiddle.net/chdhmphry/V7jPU/

我的問題是,這突出顯示了所有的帖子,而不是一個。我試着做了一些工作,但似乎沒有讓我只是將類添加到適合參數的帖子中(在窗口頂部20px內)。我試過$(this),爲什麼$(".post").ready(function() {是代碼的一部分。我究竟做錯了什麼?

jQuery的:

$(window).scroll(function() { 

    var scroll = $(window).scrollTop(); 

    $(".post").ready(function() { 
     post = $(".post", this).offset().top, 
     opacity = post - 20; 

     if (scroll >= opacity) { 
      $(this).addClass("seventy"); 
     } else{ 
      $(this).removeClass("seventy"); 
     } 

    }); 

}); 

回答

1

我改成了每個崗位,並改變了你得到了崗位的價值。這已經被編輯,以解決你的問題在評論:當帖子的底部低於scrollTop然後它將失去七十課。

$(".post").each(function() { 
    var postTop = $(this).offset().top - 20, 
     postBottom = $(this).height() + postTop - 100; // -100 is just to show it work, remove. 

    if (scroll >= postTop && 
     scroll <= postBottom) { 
     $(this).addClass("seventy"); 
    } else{ 
     $(this).removeClass("seventy"); 
     return false; // more efficient, but might not work. 
    } 
}); 
+0

太棒了!謝謝。無論如何,只要代碼通過,就可以刪除類。在這種情況下,這並不重要,但我想我可以使用它的一種方式是使用標題作爲粘性,這樣信息就可以在較長的帖子上獲得。 –

+0

給我一秒,我會試一試。 –

+0

太棒了。非常感謝! –

相關問題