Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 jquery scrollTop()在chrome中不起作用_Javascript_Jquery_Html_Css_Google Chrome - Fatal编程技术网

Javascript jquery scrollTop()在chrome中不起作用

Javascript 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

关于这个问题,我已经在某地和互联网上进行了登记

我的问题陈述如下:我有一个基于用户操作刷新的游戏站点,当它刷新时,我希望用户滚动到一个在根据用户操作重新加载之前决定的位置

我的做法是,在重新加载页面之前,我将计算出的偏移量存储到localStorage

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秒的延迟…再次无效:(一个简化的示例似乎在工作。你用硬编码值测试过吗?