admin管理员组文章数量:1244247
I am using the script to reload the page every 10 seconds. I want to retain the scroll position even after the refresh. The following is my script:
<script type="text/javascript" language="javascript">
var idleInterval = setInterval("reloadPage()", 10000);
function reloadPage() {
location.reload(false);
}
</script>
I am using the script to reload the page every 10 seconds. I want to retain the scroll position even after the refresh. The following is my script:
<script type="text/javascript" language="javascript">
var idleInterval = setInterval("reloadPage()", 10000);
function reloadPage() {
location.reload(false);
}
</script>
Share
Improve this question
edited Mar 1, 2019 at 4:56
MarredCheese
20.9k12 gold badges107 silver badges103 bronze badges
asked Apr 16, 2018 at 11:41
Shrikant KumbharShrikant Kumbhar
291 gold badge1 silver badge5 bronze badges
1
- 1 There is no need for an interval since this will only run once. Also, the fact that you need to refresh the page every x seconds sounds like bad design of a function that could be done with ajax. – Phiter Commented Apr 16, 2018 at 11:43
3 Answers
Reset to default 10you can do something like this :
window.addEventListener('scroll',function() {
//When scroll change, you save it on localStorage.
localStorage.setItem('scrollPosition',window.scrollY);
},false);
then on load :
window.addEventListener('load',function() {
if(localStorage.getItem('scrollPosition') !== null)
window.scrollTo(0, localStorage.getItem('scrollPosition'));
},false);
You can use session storage to store the position then get back to the position when the page is reloaded, like this:
$(window).scroll(function() {
sessionStorage.scrollTop = $(this).scrollTop();
});
$(document).ready(function() {
if (sessionStorage.scrollTop != "undefined") {
$(window).scrollTop(sessionStorage.scrollTop);
}
});
You can store the position on the user's localStorage
before reloading and getting it when you open the page.
window.scrollTo(localStorage.scrollPos || 0, 0);
setTimeout(function(){
//Saves the current scroll position before reloading the page.
localStorage.setItem('scrollPos', window.pageYOffset || document.documentElement.scrollTop);
location.reload();
}, 3000);
本文标签: javascriptHow to refresh code without losing scroll positionStack Overflow
版权声明:本文标题:javascript - How to refresh code without losing scroll position? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1740216737a2243005.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论