JavaScript / jQuery不会触发滚动事件

时间:2016-05-06 11:34:29

标签: javascript jquery wordpress scroll

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

$(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');
   }
});

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

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

也不这样做:

function scrollFunction() {
    console.log('scrolling');
}

window.onscroll = scrollFunction;

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

我正在使用jQuery 12.2.2。此外,在同一个项目中,出于同样的目的,我无法在this other question发布作品Waypoints.js。

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

3 个答案:

答案 0 :(得分:1)

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

e.g。像这样包装它以确保$是jQuery:

(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);

答案 1 :(得分:0)

你试过这个吗?

<script>
window.onscroll = function() {scrolling()};

function scrolling() {
console.log("Scrolling");
}
</script>

答案 2 :(得分:0)

尝试以下代码......:)

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

 $(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');    
       }
});