Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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中水平跳转到页面中心_Javascript_Scroll - Fatal编程技术网

在javascript中水平跳转到页面中心

在javascript中水平跳转到页面中心,javascript,scroll,Javascript,Scroll,在javascript中,有很多关于跳转到页面顶部的帖子,但这个问题与我所寻找的函数不同,如果用户水平滚动足够多,则可以水平跳转到页面中心 这是我的代码,但它不能正常工作,至少在安卓手机上是绝对错误的: function scrollFunction(id) { if (Math.abs($(window).width()/2 - document.documentElement.scrollLeft -document.documentElement.scrollWidth

在javascript中,有很多关于跳转到页面顶部的帖子,但这个问题与我所寻找的函数不同,如果用户水平滚动足够多,则可以水平跳转到页面中心

这是我的代码,但它不能正常工作,至少在安卓手机上是绝对错误的:

  function scrollFunction(id) {
        if (Math.abs($(window).width()/2 - document.documentElement.scrollLeft -document.documentElement.scrollWidth/2) > 50) {
            document.getElementById("myBtnBotton").style.display = "block";
        } else {
            document.getElementById("myBtnBotton").style.display = "none";
        }
    }

因此,您希望检测用户何时处于滚动条的一半位置,但处于水平位置

$(“#按钮”).hide();
//滚动事件
$(窗口).on('scroll',函数(e){
//获取滚动值
var value=$('html').scrollLeft();
//计算最大向左滚动
var maxScrollLeft=$('html')[0]。scrollWidth-$('html')[0]。clientWidth;
//除以2得到一半
var top=maxScrollLeft/2;
//如果值大于一半,则显示按钮,否则隐藏按钮
如果(值>顶部){
$(“#按钮”).show();
}
否则{
$(“#按钮”).hide();
}
});
//回到起点
$('#按钮')。在('单击',函数()上){
$('html')。向左滚动(0);
});
html{
宽度:6000px;
溢出-x:滚动;
位置:相对位置;
} 
#钮扣{
位置:固定;
颜色:红色;
左:10px;
顶部:10px;
}


返回
Hmm,我会添加一个不可见的div。设置此div的样式,使其始终水平位于页面的中心。当滚动超过x次时,跳转到此invisibe div。谢谢@Wimanicesir。您能在回答中提供一个例子吗?您现有的代码看起来像是试图通过显示按钮来响应滚动。“它工作完全错误”是否意味着它显示一个按钮而不是“跳到中心”?@谢谢。我将输出打印到控制台,控制台显示一个2k左右的值,该值远离零。谢谢。如果用户从中间滚动,我怎么能看到按钮,否则就隐藏它?我不完全理解你的问题。触发因素是什么?按钮何时显示,何时隐藏?想象跳转到顶部按钮。例如,如果用户将页面向下滚动50个单位,则页面右下角(例如)会出现一个按钮,单击该按钮时,用户将滚动到页面顶部,该按钮将消失。现在我们想要水平地实现它。如果滚动条从中心移动了50个单位(例如),那么按钮就会出现,当页面居中时,页面就会消失