0

我正在建立一个带有固定顶部菜单的网站,一旦用户向下滚动,菜单就会消失,当用户向上滚动时,它会再次出现。

当用户向上滚动时,他想要访问菜单是有道理的。

以下代码在 Windows 上运行良好,但在 Mac 上却不行:

$(function(){
        var _top = $(document).scrollTop();
        var _direction;
        $(document).scroll(function(){
            var _cur_top = $(document).scrollTop();
            if(_top < _cur_top)
            {
                $('.navbar-fixed-top').fadeOut(500);
            }
            else
            {
                $('.navbar-fixed-top').fadeIn(500);
            }
            _top = _cur_top;
        });
});

当您在 IOS 设备上滚动到顶部时,它允许您滚动过去实际页面,这发生在所有 IOS 设备上,无论是触摸屏还是鼠标操作。

这会导致页面再次向下滚动,从而触发“淡出”并隐藏菜单。

我想要的是当用户到达页面顶部时,滚动停用。

谢谢。

4

1 回答 1

1

我正在与类似的问题作斗争,我想我可以用我一直在使用的东西解决你的问题。

干杯

$(function(){
    var _top = $(document).scrollTop();
    var _direction;
    var threshold = 300;

    $(document).scroll(function(){
        var _cur_top = $(document).scrollTop();

        if(_top < _cur_top && _cur_top > threshold)
        {
            $('.navbar-fixed-top').fadeOut(500);
        }
        else
        {
            $('.navbar-fixed-top').fadeIn(500);
        }
        _top = _cur_top;
    });
});
于 2013-09-21T17:54:54.527 回答