在javascript中水平跳转到页面中心
在javascript中,有很多关于跳转到页面顶部的帖子,但这个问题与我所寻找的函数不同,如果用户水平滚动足够多,则可以水平跳转到页面中心 这是我的代码,但它不能正常工作,至少在安卓手机上是绝对错误的:在javascript中水平跳转到页面中心,javascript,scroll,Javascript,Scroll,在javascript中,有很多关于跳转到页面顶部的帖子,但这个问题与我所寻找的函数不同,如果用户水平滚动足够多,则可以水平跳转到页面中心 这是我的代码,但它不能正常工作,至少在安卓手机上是绝对错误的: function scrollFunction(id) { if (Math.abs($(window).width()/2 - document.documentElement.scrollLeft -document.documentElement.scrollWidth
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个单位(例如),那么按钮就会出现,当页面居中时,页面就会消失