当用户向下滚动一定量(像素)时执行jquery代码

时间:2015-09-30 19:51:12

标签: javascript jquery

当用户滚动到页面上的某个位置时,我想执行以下代码;例如600px;向下(从顶部)。因此,请在 PIXELS 中检测600px

// $(document).ready(function() {
        $(".slidedown").one('load', function () {
            $(this).slideDown(200);
        }).each(function() {
          if(this.complete) $(this).trigger('load');
        });
// });

这不起作用:

  $(document).scroll(function(){
      if (document.scrollHeight > 600) {
     $(".slidedown").one('load', function () {
        $(this).slideDown(200);
    }).each(function() {
      if(this.complete) $(this).trigger('load');
    });
   }
});

2 个答案:

答案 0 :(得分:2)

只需在触发事件前设置像素数阈值,当用户向上或向下滚动n个像素时将触发此功能

https://jsfiddle.net/7daffjh8/7/

var scrollAmount = 0;
var pixelsToNotify = 200;

$(document).scroll(function() {
  var distance = $(window).scrollTop();
    console.log(distance, scrollAmount);
    if(distance - scrollAmount > pixelsToNotify){
        alert('user scrolled down event');
        scrollAmount = distance;
    }
    if(distance < scrollAmount - pixelsToNotify){
        alert('user scrolled up event');
        scrollAmount = distance;
    }
});

答案 1 :(得分:0)

我觉得这样的事情会起作用

$(document).scroll(function(){
   if ($(document).scrollTop() > 600) {
     ... execute code
   }
});

https://jsfiddle.net/ga7140L9/1/