IOS问题与jQuery scrollTop隐藏和显示菜单

时间:2013-06-10 19:51:17

标签: jquery ios

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

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

以下代码适用于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设备上,无论是触摸屏还是鼠标操作。

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

干杯

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