javascript - 在移动网络中保持滚动
问题描述
我正在做一个响应式网页,它会在 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);
});
解决方案
我刚刚发现问题,有些浏览器支持 document.documentElement.scrollTop,有些浏览器支持 document.body.scrollTop 来获取滚动位置,甚至是桌面版的谷歌浏览器和移动版的谷歌浏览器。最好我们同时检查它,并用 0 得到不同的值。
推荐阅读
- reactjs - Error with Next Js with Expo when compiling
- python - Pandas pd.merge gives nan
- android - Firestore whereIn 查询文档是随机排序的
- c++ - 将公共成员函数指针传递给构造函数
- javascript - html输入框的“value”属性内的if语句
- android - Google Android TTS human readable names of voices
- python - 如何使用类对象作为方法的输入?
- c++ - 动态规划算法问题C++和Python实现时结果的差异?
- javascript - jQuery:在每个单词的最后一个单词之前插入“”
- r - R中的字符串到表