如何使 scrolltop() 功能与 Mmenu 一起使用

How to make scrolltop() functionality work with Mmenu

我正在使用 jQuery mmenu 向我的网站添加一个非 canvas 菜单。在安装它之前,我有一个滚动到顶部的按钮和一个向下滑动的导航栏,它们依赖于从 $(window).scrollTop(); 获取偏移量来触发它们。我注意到 mmenu 似乎阻碍了查找 window 偏移量的能力。当我运行以下代码时:

var offset = $(window).scrollTop();

$(window).scroll(function(){

     console.log(offset);
});

并且检查了 Chrome DevTools 的控制台,我注意到虽然它确实输出了偏移量,但似乎有一个设置为 0 的覆盖偏移量,无论 window 和滚动条。

我尝试寻找其他元素的偏移量,但我仍然在控制台中得到相同的输出。

最终,我希望能够在用户向下滚动后触发我的滚动到顶部按钮和向下滑动的导航栏。

我给他们的代码如下:

$(window).scroll(function(){

    /* slide-down navigation bar */

    if($('.bar').css('z-index') == '30' && offset > 50 ){

        $('#secondary-nav-wrap').addClass('slideDown');

    }else{

        $('#secondary-nav-wrap').removeClass('slideDown');
    }

    /* fade in jump to top button */

    if (offset >= 200) {

        $('#top-jump').fadeIn(400);
    }else{

        $('#top-jump').fadeOut(400);
    }
});

您的偏移量变量在页面加载时初始化并且不会改变。这就是它始终为 0 的原因。

做:

$(window).scroll(function(){
     var offset = $(window).scrollTop();
     console.log(offset);
});