Javascript 如何跳转到浏览器页面的顶部
我正在编写一个模式弹出窗口,当按下打开模式按钮时,我需要浏览器跳转到屏幕顶部。有没有办法使用jQuery将浏览器滚动到顶部?您可以设置Javascript 如何跳转到浏览器页面的顶部,javascript,jquery,css,modal-dialog,Javascript,Jquery,Css,Modal Dialog,我正在编写一个模式弹出窗口,当按下打开模式按钮时,我需要浏览器跳转到屏幕顶部。有没有办法使用jQuery将浏览器滚动到顶部?您可以设置滚动顶部,如下所示: $('html,body').scrollTop(0); 或者,如果您想要一点动画,而不是捕捉到顶部: $('html, body').animate({ scrollTop: 0 }, 'fast'); 如果没有动画,您可以使用纯JS: scroll(0,0) 有了动画,请检查。您可以不用javascript,只需使用锚定标记就可以了
滚动顶部,如下所示:
$('html,body').scrollTop(0);
或者,如果您想要一点动画,而不是捕捉到顶部:
$('html, body').animate({ scrollTop: 0 }, 'fast');
如果没有动画,您可以使用纯JS:
scroll(0,0)
有了动画,请检查。您可以不用javascript,只需使用锚定标记就可以了吗?然后这些js就可以免费访问它了
虽然您正在使用modals,但我认为您并不关心js自由 如果您使用的是jQuery UI对话框,您可以设置模式的样式,使其显示在窗口中的位置固定,这样它就不会从视图中弹出,无需滚动。否则,
var scrollTop = function() {
window.scrollTo(0, 0);
};
应该可以做到这一点。如果您使用的是jQuery UI对话框,您可以设置模式的样式,使其在窗口中的位置固定,这样它就不会从视图中弹出,无需滚动。其他
//当用户从文档顶部向下滚动20px时,显示按钮
window.onscroll=function(){scrollFunction()};
函数滚动函数(){
if(document.body.scrollTop>20 | | document.documentElement.scrollTop>20){
document.getElementById(“myBtn”).style.display=“block”;
}否则{
document.getElementById(“myBtn”).style.display=“无”;
}
}
//当用户单击按钮时,滚动至文档顶部
函数topFunction(){
$('html,body')。动画({scrollTop:0},'slow');
}
正文{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:20px;
}
#myBtn{
显示:无;
位置:固定;
底部:20px;
右:30px;
z指数:99;
字号:18px;
边界:无;
大纲:无;
背景色:红色;
颜色:白色;
光标:指针;
填充:15px;
边界半径:4px;
}
#myBtn:悬停{
背景色:#555;
}
顶部
向下滚动
此示例演示如何创建一个“滚动到顶部”按钮,当用户开始滚动页面时,该按钮将变为可见。
我知道这是一个旧按钮,但对于Edge中存在问题的用户:
普通JS:window.scrollTop=0代码>
不幸的是,scroll()
和scrollTo()
会在边缘抛出错误。PureJavascript解决方案
theId.onclick = () => window.scrollTo({top: 0})
如果你想平滑滚动
theId.onclick = () => window.scrollTo({ top: 0, behavior: `smooth` })
正如一些回答暗示的那样,我不得不使用window.scrollTo(0,0)代码>而不是滚动到(0,0)代码>
window.scrollTo(0,0)
在所有测试的浏览器中使用纯javascript(无动画)。()
来自MDN的示例:
没有选择:
window.scrollTo(0, 0);
使用选项:
window.scrollTo({
top: 0,
left: 0,
behavior: 'smooth'
});
下面是一个使用javascript与html内联的简单示例:
<button onclick="window.scrollTo(0, 0);">Click to scroll to top</button>
单击可滚动至顶部
通过平滑滚动:
<button onclick="window.scrollTo({top: 0, left: 0, behavior: 'smooth'});">Smooth scroll</button>
平滑滚动
注:
在Chrome(如89版)中,默认情况下,如果不首先启用,平滑滚动似乎不起作用
chrome://flags/#smooth-滚动
窗口。滚动(0,0)代码>类似于window.scrollTo(0,0)代码>但与选项的兼容性较差。()。好的。。。我以前使用过scrollTo插件来实现这一点-可以用您的代码保存一些代码。。。谢谢你的课;-)@禁用你的CSS,然后看看它是否有效。您可能对如何设置html
和body
标记的样式存在问题。否则,请改用$(窗口)
。如何为动画skrolling添加持续时间?所有浏览器都支持吗?scroll
在CSSOM标准中,而scrollTo
最初是在DOM级别0中定义的,不是任何标准的一部分。但是,CSSOM包括scrollTo
以实现向后兼容性。我认为scroll
受到广泛支持。再见,谢谢。我猜window&&window.scroll(0,0)代码>在我的视图模型中是可接受的。使用锚标记将中断基于哈希的导航。