我想当你点击刷新时,浏览器应该将你的页面重置为顶部?我正在使用js
手风琴,当我刷新时,它会关闭手风琴,但不会将页面重新定位到顶部。
答案 0 :(得分:11)
如果上述方法均无效,请尝试此操作。这将欺骗浏览器在刷新之前认为它位于文档的顶部。
$(window).on('beforeunload', function() {
$(window).scrollTop(0);
});
答案 1 :(得分:9)
嗯,正如你所看到的,它没有:)
但你可以用一些简单的jQuery强制它:
$(document).ready(function(){
$(this).scrollTop(0);
});
修改强>
IE 9,FF 12和Chrome 20.0中唯一可行的方法如下:
$(document).ready(function(){
$('html').animate({scrollTop:0}, 1);
$('body').animate({scrollTop:0}, 1);
});
奇怪的是,当我尝试直接滚动元素而不应用任何动画(即$('html').scrollTop(0)
)时,它不起作用。由于持续时间设置为1毫秒,因此用户不会注意到任何内容。
如果有人能对此有所了解,我会很高兴 - 为什么滚动仅适用于动画?
答案 2 :(得分:6)
为方便起见,浏览器将向下滚动到重新加载之前的位置。它对于过长的页面才真正有用。
您可以像这样“修复”:
window.onload = function() {document.body.scrollTop = document.documentElement.scrollTop = 0;};
答案 3 :(得分:3)
基于comonpyke的最后评论和我自己的测试,我建议
$(document).ready(function(){
$('html, body').scrollTop(0);
$(window).on('load', function() {
setTimeout(function(){
$('html, body').scrollTop(0);
}, 0);
});
});