首页 > 解决方案 > 在移动网络中保持滚动

问题描述

我正在做一个响应式网页,它会在 5 秒后自动刷新,以使页面保持在刷新前的最后一个滚动位置,我使用 localStorage 来存储滚动位置的值,当我从计算机访问时效果很好,但是当我在手机上使用它时,网页无法移回最后一个滚动位置。有人对此有任何想法吗?如何在移动网络中保持滚动位置?

$(document).ready(function() {
    setInterval(function () {
        localStorage.setItem('scroll_top', document.body.scrollTop);
        $('#show').load("detaildata.php", function(){
            if (localStorage.getItem('scroll_top') !== null)
                window.scrollTo(0, parseInt(localStorage.getItem('scroll_top')));
        });
    }, 5000);
});

标签: javascripthtml

解决方案


我刚刚发现问题,有些浏览器支持 document.documentElement.scrollTop,有些浏览器支持 document.body.scrollTop 来获取滚动位置,甚至是桌面版的谷歌浏览器和移动版的谷歌浏览器。最好我们同时检查它,并用 0 得到不同的值。


推荐阅读