javascript - 如何在没有动画的情况下从底部上拉刷新网页
问题描述
我想每个人都知道通过从移动设备顶部下拉来刷新网页的方法。
我也想做同样的事情,但我想从底部向上拉。我也不需要任何动画。
我需要类似的东西:从底部拉起(例如)10px 时刷新页面。
在谷歌上,我只找到了从顶部下拉的解决方案,它们都有动画,而且大部分代码都很多。
有没有人有想法或暗示如何做到这一点?
解决方案
我做了一个例子scroll
,show extra div
用于检查连续向下滚动。
用于不触发太快setTimeout
到达。new showing bottom
看看这个,如果有任何问题,请告诉我。
var latestPosition = 0;
$(window).scroll(function() {
var $extra = $('#extra');
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
if ($extra.is(':visible')) {
alert('time to reload');
} else {
setTimeout(function() {
$extra.show();
}, 300)
}
}
// console.log($(window).scrollTop() + " " + latestPosition)
if ($(window).scrollTop() < latestPosition)
$extra.hide();
latestPosition = $(window).scrollTop();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="height:2000px; background-color:green" id="content">
</div>
<div style="height:10px; display:none; background-color:red" id="extra">
</div>
更新
我为你做了这个。
var latestPosition = 0;
var flag = false;
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
// touch bottom
flag = true;
}
// go back
else{
if(flag){
alert('time to refresh');
flag = false;
}
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="height:2000px; background-color:green" id="content">
</div>
推荐阅读
- sql - 从 SQL 结果集中获取两行之间的日期差异
- amazon-web-services - 旧 SSL 证书优先于新证书
- javascript - 在滚动底部生成 div
- vb.net - 随机图像卡在一张图像上
- c# - HttpClient 未使用客户端证书进行双向 TLS 身份验证
- spring-boot-admin - 如何修复“⚠️配置 INFO 失败。” 尝试在 Spring Boot Admin 中设置 ROOT 记录器级别时?
- c# - 使用 Newtonsoft 将复杂的 JSON 转换为通用列表
- c - 获取 MacOS 进程 pid
- android - 如何在课堂上使用 Shared Preferences 来设置所有活动?
- ios - 从弹出窗口呈现自定义弹出窗口然后关闭第一个弹出窗口会导致闪烁