【问题标题】:Detect scrollTop() when hovered (handheld device)悬停时检测scrollTop()(手持设备)
【发布时间】:2016-10-11 13:47:23
【问题描述】:

我将 jQuery 的 scrollTop() 用于固定菜单:

function fixed_menu(){

    if( $('window').width() < 770 )
    {
        var menu = $('.col-left.sidebar');
        var offset = menu.offset();
        var trigger = offset.top;

        $(document).scroll(function(e){
            if($('body').scrollTop() >= trigger){
                menu.addClass('fixed');
            } else if ($('body').scrollTop() < trigger){
                menu.removeClass('fixed');
            }
        });
    }

}
fixed_menu();

当我在自己的手机(Android 设备,Moto G 2nd gen)上进行测试时,if 语句在滚动时仍然有效。

当我在 iPad mini 上进行测试时,if 语句仅在悬停完成时启动。

如何使此功能在某些 iOS 设备上运行,同时悬停仍在进行中?

【问题讨论】:

    标签: android jquery ios scroll scrolltop


    【解决方案1】:

    scrollTop() 函数在不同浏览器中存在问题。你可以试试$('html, body').scrollTop()和$(window).scroll()

    function fixed_menu(){
        if( $('window').width() < 770 ){
            var menu = $('.col-left.sidebar');
            var offset = menu.offset();
            var trigger = offset.top;
    
            $(window).scroll(function(e){
                if($('html, body').scrollTop() >= trigger){
                    menu.addClass('fixed');
                } else if ($('html, body').scrollTop() < trigger){
                    menu.removeClass('fixed');
                }
            });
        }
    }
    fixed_menu();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      相关资源
      最近更新 更多