Javascript 如何使“window.scroll”更精确?
当我点击Javascript 如何使“window.scroll”更精确?,javascript,Javascript,当我点击box1时,滚动效果需要向下滚动到box2(蓝色框的上边缘)。这在网络上效果很好,但我无法在移动设备上精确复制这种效果 document.getElementById('box1').addEventListener('click',function(){ window.scrollTo({ top:507, 行为:“平稳” }); }); .box1{ 宽度:100px; 高度:100px; 背景色:红色; } .box2{ 宽度:100px; 高度:100px; 背景颜色:蓝色;
box1
时,滚动效果需要向下滚动到box2
(蓝色框的上边缘)。这在网络上效果很好,但我无法在移动设备上精确复制这种效果
document.getElementById('box1').addEventListener('click',function(){
window.scrollTo({
top:507,
行为:“平稳”
});
});代码>
.box1{
宽度:100px;
高度:100px;
背景色:红色;
}
.box2{
宽度:100px;
高度:100px;
背景颜色:蓝色;
}
.box3{
宽度:100px;
高度:100px;
背景颜色:绿色;
}
.差距{
宽度:100%;
高度:400px;
背景颜色:黄色;
}
您正在滚动到一个特定的坐标(top:507
),这在手机上会有所不同
使用JavaScript获取要滚动到的特定元素的坐标的top
:
var box2 = document.getElementById("box2");
document.getElementById('box1').addEventListener('click', function() {
window.scrollTo({
top: box2.getBoundingClientRect().top,
behavior: "smooth"
});
});
您正在滚动到一个特定的坐标(top:507
),这在移动设备上会有所不同
使用JavaScript获取要滚动到的特定元素的坐标的top
:
var box2 = document.getElementById("box2");
document.getElementById('box1').addEventListener('click', function() {
window.scrollTo({
top: box2.getBoundingClientRect().top,
behavior: "smooth"
});
});
你说:在手机上会有所不同。我如何使其移动友好?有什么建议吗?有一件事是,如果你需要滚动到一个元素,滚动到确切的元素,而不是你对它所在位置的猜测/估计。即使您只是为web开发,情况也是如此。如果你想知道如何让网络应用在移动设备上正常运行,那是一个不同且更广泛的问题。你说:在移动设备上会有什么不同。我如何使其移动友好?有什么建议吗?有一件事是,如果你需要滚动到一个元素,滚动到确切的元素,而不是你对它所在位置的猜测/估计。即使您只是为web开发,情况也是如此。如果你想知道如何让网络应用在手机上正常运行,那是一个不同的更广泛的问题