Javascript jquery scrollTop()在chrome中不起作用
关于这个问题,我已经在某地和互联网上进行了登记 我的问题陈述如下:我有一个基于用户操作刷新的游戏站点,当它刷新时,我希望用户滚动到一个在根据用户操作重新加载之前决定的位置 我的做法是,在重新加载页面之前,我将计算出的偏移量存储到localStorageJavascript jquery scrollTop()在chrome中不起作用,javascript,jquery,html,css,google-chrome,Javascript,Jquery,Html,Css,Google Chrome,关于这个问题,我已经在某地和互联网上进行了登记 我的问题陈述如下:我有一个基于用户操作刷新的游戏站点,当它刷新时,我希望用户滚动到一个在根据用户操作重新加载之前决定的位置 我的做法是,在重新加载页面之前,我将计算出的偏移量存储到localStorage window.onbeforeunload = function(){ var scrollTo = calculateNextLoadPosition(); //below function validates & ca
window.onbeforeunload = function(){
var scrollTo = calculateNextLoadPosition();
//below function validates & calls localStorage.setItem(name,value);
storeLocalData("scrollTo",scrollTo);
console.log("Stored scrollPosition "+ scrollTo);
};
当页面刷新时,我读取本地存储值并将页面滚动到该偏移量
$(function() {
//retrieve the stored scroll offset as an integer
var scrollTo = parseInt(getLocalData("scrollTo"));
$('html,body').scrollTop(scrollTo);
console.log("Scrolled to "+scrollTo);
//also tried..
//$(window).scrollTop(scrollTo);
//$(document).scrollTop(scrollTo);
}
使用此脚本重新加载浏览器时,计算的偏移量始终正确,使用开发人员工具检查浏览器localstorage中的值也正确。但浏览器从不滚动到那个位置,即使在控制台中它写到它已经滚动到那个位置。它只是停留在顶端
其他信息:
- 我在HTML中的任何地方都没有overflow-x或overflow-y
- 它就像Firefox中的魅力
- 这让我快发疯了,我要沮丧地嚼我的帽子了李>
非常感谢任何关于出错原因的提示 谷歌搜索提供了很多资源,除了SO帖子,这里有一个来自jquery论坛的最近发布的帖子-@jkris:谢谢你的评论,在我决定发布SO之前,我尝试了这些和其他一些滚动插件都没有用。在任何情况下,我只需要一个没有动画的简单滚动,所以我不想使用插件。在滚动之前您是否尝试过一个小的延迟?是的,我尝试在window.setTimeout中包装调用,并尝试了从10毫秒到2秒的延迟…再次无效:(一个简化的例子似乎在上起作用。你用硬编码的值进行过测试吗?谷歌上有很多可用的资源,除了这些帖子之外这里有一个来自jquery论坛的体面的最新帖子-@jkris:谢谢你的评论,在我决定发布之前,我尝试了这些和其他一些滚动插件都没有用。无论如何,我只需要need一个没有动画的简单滚动,所以我不想使用插件。你在滚动之前尝试过一个小延迟吗?是的,我尝试过在window.setTimeout中包装调用,并尝试了从10毫秒到2秒的延迟…再次无效:(一个简化的示例似乎在工作。你用硬编码值测试过吗?