JavaScript / jQuery不会触发滚动事件

JavaScript/jQuery not triggering scroll event

我正在尝试通过jQuery和JavaScript为我正在开发的wordpress网站触发滚动事件。

1
2
3
4
5
6
7
8
9
10
$(window).scroll(function() {
   var hT = $('#target').offset().top;
       hH = $('#target').outerHeight();
       wH = $(window).height();
       wS = $(this).scrollTop();
   console.log((hT-wH) , wS);
   if (wS > (hT+hH-wH)){
       console.log('working');
   }
});

控制台上没有任何反应。 以下代码不起作用:

1
2
3
$(window).scroll(function() {
    console.log('scrolling');
});

这两个都没有:

1
2
3
4
5
function scrollFunction() {
    console.log('scrolling');
}

window.onscroll = scrollFunction;

我已经在其他非wordpress项目上测试了这些行,即使在codepen中它们也可以工作。 我错过了什么?

我正在使用jQuery 12.2.2。 此外,在同一个项目中,出于同样的目的,我无法完成Waypoints.js的工作,正如我在其他问题中发布的那样。

非常感谢任何帮助,谢谢!


你有没有关闭代码? 也许其他一些JavaScript与jQuery冲突并使用$符号。

例如 像这样包装它以确保$是jQuery:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
(function($){

  $(window).scroll(function() {
     var hT = $('#target').offset().top;
         hH = $('#target').outerHeight();
         wH = $(window).height();
         wS = $(this).scrollTop();
     console.log((hT-wH) , wS);
     if (wS > (hT+hH-wH)){
         console.log('working');
     }
  });

})(jQuery);


试试下面的代码...... :)

$(window).scroll(function(){});替换为$(window).on('scroll', function(){})

1
2
3
4
5
6
7
8
9
10
11
 $(window).on('scroll', function(){

   var hT = $('#target').offset().top;
       hH = $('#target').outerHeight();
       wH = $(window).height();
       wS = $(this).scrollTop();
    console.log((hT-wH) , wS);
       if (wS > (hT+hH-wH)){
         console.log('working');    
       }
});


你试过这个吗?

1
2
3
4
5
window.onscroll = function() {scrolling()};

function scrolling() {
console.log("Scrolling");
}