Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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_Jquery_Css_Modal Dialog - Fatal编程技术网

Javascript 如何跳转到浏览器页面的顶部

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,只需使用锚定标记就可以了

我正在编写一个模式弹出窗口,当按下打开模式按钮时,我需要浏览器跳转到屏幕顶部。有没有办法使用jQuery将浏览器滚动到顶部?

您可以设置
滚动顶部,如下所示:

$('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)在我的视图模型中是可接受的。使用锚标记将中断基于哈希的导航。