jQuery无法检查滚动窗口的时间

时间:2017-06-19 11:03:54

标签: javascript jquery fullpage.js

我正在使用fullpage.js插件,并希望在用户滚动浏览第一张幻灯片后将菜单从页脚转换为标题。

在此Page上:

然而,全屏功能不允许我检查何时有滚动事件。

我写了这个:

$(window).scroll(function(){
  if ($(window).scrollTop() > $('.topDiv').position().top) {
    console.log('div hits top!');
  }
});

检查顶部灰色div是否位于窗口顶部,但不起作用。

偶:

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

无效。

2 个答案:

答案 0 :(得分:1)

我认为实现所需功能的最佳方法是使用 fullPage.js 提供的回调,而不是依赖于$(window).scroll()

您可以在每个回调中调用自定义函数:

onLeave: function(index, nextIndex, direction){}
afterLoad: function(anchorLink, index){}

然后,您可以检查indexnextIndex值以执行所需的逻辑。

希望有所帮助。

答案 1 :(得分:-1)

可能会有所帮助

    $('elem').bind('DOMMouseScroll', function(e){
        if(e.originalEvent.detail > 0) {
           console.log('Down');
        } else {
           console.log('Up');
        }
        //prevent page fom scrolling
        return false;
    });

    //IE, Opera, Safari
    $('elem').bind('mousewheel', function(e){
        if(e.originalEvent.wheelDelta < 0) {
             //scroll down
            console.log('Down');
        } else {
            console.log('Up');
        }
        //prevent page fom scrolling
        return false;
     });