Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 刷新页面,但使用倒计时保持scoll位置_Javascript_Jquery_Scroll_Page Refresh - Fatal编程技术网

Javascript 刷新页面,但使用倒计时保持scoll位置

Javascript 刷新页面,但使用倒计时保持scoll位置,javascript,jquery,scroll,page-refresh,Javascript,Jquery,Scroll,Page Refresh,我有一段代码,在倒计时达到0后刷新页面。倒计时显示在底部的div中 <script> (function countdown(remaining) { if(remaining === 0) location.reload(true); document.getElementById('countdown').innerHTML = remaining; setTimeout(function(){ countdown(remainin

我有一段代码,在倒计时达到0后刷新页面。倒计时显示在底部的div中

<script>
    (function countdown(remaining) {
    if(remaining === 0)
        location.reload(true);
    document.getElementById('countdown').innerHTML = remaining;
    setTimeout(function(){ countdown(remaining - 1); }, 1000);
})(60);
</script>

<span id="countdown" class="bold"></span>

(功能倒计时(剩余){
如果(剩余===0)
位置。重新加载(true);
document.getElementById('countdown')。innerHTML=剩余;
setTimeout(函数(){countdown(剩余的-1);},1000);
})(60);
我希望它以同样的方式刷新,但保持在浏览器上的滚动位置,因为页面相当长。用这个代码可以吗

请举个例子,因为我不太懂javascript


谢谢

您以前使用过本地存储或cookie吗?这些是用户浏览器中方便的部分,您可以在其中存储和保存定制的数据位,只为它们。有关更多信息,请参阅

无论如何,您可以使用localStorage,然后当您的用户滚动时,您可以只存储他们到底有多远。然后,在页面加载时,如果localStorage键有一个值,则向下滚动用户到该值

我制作了一个代码片段,但遗憾的是,他们的代码片段iframe不允许我访问localStorage来实际演示它是如何工作的。但是,无论如何,我确实写了一些行(尽管未经测试)和一些评论,试图帮助说明你可以如何去做

除此之外,您还可以做的另一件事是进行测试,确保他们的浏览器支持本地存储,如果不支持,您可以尝试使用cookie或其他方法

函数updateScrollStuff(){
//这告诉我们我们作为一个数字滚动了多远,比如“476”
var scrollPosition=$(document.scrollTop();
//我无法从他们在这里使用的iframe访问本地存储,但我认为
//这就是你想用它来存储滚动位置的方法
//localStorage.storedScrollPosition=滚动位置;
//这一行只是说明性的,向您显示滚动位置的编号正在更新
//每次滚动-您不需要将其用于最终目的
$(“#滚动位置”).text(滚动位置+“px”);
}
//当用户滚动时,调用上面的函数
$(窗口)。滚动(函数(){
updateScrollStuff();
});
//我不能在这里测试它,但在页面加载时我会检查
//查看某个值是否存在,如果存在,请滚动到该值!
$(窗口)。加载(函数(){
//同样,由于本地存储被阻止,我所能做的就是向您展示
//看起来像
//typeof'undefined'只是一个检查,看看是否存在变量
//if(localStorage.storedScrollPosition的类型!=“未定义”){
//$(“html,body”).scrollTop(localStorage.storedScrollPosition);
// }
});
body,html{
保证金:0;
填充:0;
}
.科{
宽度:100%;
高度:200px;
}
#第1节{
背景色:#333333;
}
#第2节{
背景色:#666666;
}
#第3节{
背景色:#999999;
}
#第4节{
背景色:#AAAAA;
}
#滚动位置{
背景色:黑色;
颜色:白色;
位置:固定;
排名:0;
左:0;
保证金:0;
填充:15px;
宽度:100%;
}

滚动查看此更改