滚动特定部分时的触发事件

时间:2014-03-31 16:58:17

标签: javascript jquery

当我滚动到不是特定像素数量的特定部分时,我想触发一个事件。我有:

$(window).scroll(function () { 
   var y_scroll_pos = window.pageYOffset;
   var scroll_pos_test = document.getElementById ('resume');             

   if(y_scroll_pos > scroll_pos_test) {
       $("#backgroundimages").removeClass("bkg1").addClass("bkg2");
   } else {
   $("#backgroundimages").addClass("bkg1").removeClass("bkg2");
   }
});   

如果我更改var" scroll_pos_test"对于固定的像素量,它的工作原理。但是当我到达" resume"取决于窗口大小的部分并不总是相同的像素数。

2 个答案:

答案 0 :(得分:1)

您可以查看部分的offset顶部:

var offsetSection = $( '.my_section' ).offset().top

和你的滚动监听器:

if( y_scroll_pos >= offsetSection) {
   // Here
}

答案 1 :(得分:0)

我可能会向您推荐this jQuery plugin,因为您似乎已经在使用jQuery了。