OGeek|极客世界-中国程序员成长平台

标题: android - 悬停时检测scrollTop()(手持设备) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:14
标题: android - 悬停时检测scrollTop()(手持设备)

我将 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 设备上运行,同时悬停仍在进行中?



Best Answer-推荐答案


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

关于android - 悬停时检测scrollTop()(手持设备),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978784/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4