Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery';s scrollTop()在包括Chrome在内的Android浏览器上表现得很奇怪_Javascript_Android_Jquery_Scroll - Fatal编程技术网

Javascript jQuery';s scrollTop()在包括Chrome在内的Android浏览器上表现得很奇怪

Javascript jQuery';s scrollTop()在包括Chrome在内的Android浏览器上表现得很奇怪,javascript,android,jquery,scroll,Javascript,Android,Jquery,Scroll,我在使用动画滚动条时遇到问题。预期的行为应该是单击导航按钮,轻松地滚动到页面的末尾(在接近尾端的地方稍作休息) 现在这个问题在PC上运行得很好。在android设备上(我试过手机),scrollTop值和($(document.body).height()-$(window.height())不匹配。使用scrollTop时,正好有55px更少,因此表现出各种奇怪的行为。。。有时有效有时无效。我认为这与浏览器栏崩溃和破坏值有关…但我无法理解 我尝试了以下方法:初始化scroll事件上的变量,我尝

我在使用动画滚动条时遇到问题。预期的行为应该是单击导航按钮,轻松地滚动到页面的末尾(在接近尾端的地方稍作休息)

现在这个问题在PC上运行得很好。在android设备上(我试过手机),
scrollTop
值和
($(document.body).height()-$(window.height())
不匹配。使用
scrollTop
时,正好有
55px
更少,因此表现出各种奇怪的行为。。。有时有效有时无效。我认为这与浏览器栏崩溃和破坏值有关…但我无法理解

我尝试了以下方法:初始化scroll事件上的变量,我尝试了不起作用的vanilla js。需要帮助:)作为参考,如果有帮助,我还打印了页面底部的值。这是密码

contactF = Math.floor($(document.body).height() - $(window).height());
$("#cont").click(function(){
    if ($(document).scrollTop() < contactF && flagScroll==true){ //flag stops other buttons from beying pushed
        flagScroll = false;
        var inter = setInterval(function(){
            var doc = $(document).scrollTop();
            if (doc == contactF){ // this is the final desired position
                clearInterval(inter);
                flagScroll = true;
                pix = 10; //pixels to jump
                return;
            }
            if (doc >= contactF-50){ // this is a break on aproach
                pix = 1;
            }
            $(document).scrollTop(doc + pix);
        }, 10); 
    }
})
contactF=Math.floor($(document.body).height()-$(window.height());
$(“#续”)。单击(函数(){
如果($(document).scrollTop()=contactF-50){//,这是一个中断
pix=1;
}
$(文档).scrollTop(文档+pix);
}, 10); 
}
})

编辑:同样要找到bug,你需要从页面的顶部一直滚动到底部,如果从页面的顶部你只需按下联系人按钮就可以了。但是如果你不滚动它,它会扰乱值…

也有同样的问题,花了一整天的时间来解决它。 关于Android chrome上的地址栏崩溃,你是对的,它把事情搞砸了。原来jQuery函数
$(window).height()
总是报告地址栏折叠之前的视口高度。要获得正确的值,请改用
window.innerHeight
。您可以在此处找到有关URL栏大小调整的更多信息
你也可以发现有人问类似的问题,关于safari地址栏自动隐藏,解决方案是类似的

这都在$(document.ready(function(){})中吗?是的。所有这些都在$(document.ready函数)中。您可能需要为“resize”事件和/或“orientationchange”事件添加事件侦听器。折叠条可能会发出这些事件,您可以使用这些事件重新计算值。我已经添加了这些事件,但仍然没有。。。