我有以下场景。 我的 Twitter feed 应每 5 秒刷新一次(通过使用 load() 函数)。尽管我一直在监控我的带宽,但它确实消耗了很多。
我的想法是,一旦用户处于非事件状态(例如,页面上 5 或 10 秒没有交互),就停止刷新。我尝试了一些插件但没有成功。
刷新过程如下:
setInterval(function() { $("#feed").load("feed.php"); }, 5000);
它应该停止刷新,但我尝试的插件只是不断刷新(运行间隔)。
有什么办法可以实现这一点吗?我尝试了以下插件: -http://www.bedroomlan.org/coding/detecting- ‘空闲’和‘离开’-超时-javascript -http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/
提前致谢。
最佳答案
最简单的方法是使用 idleTimer
jQuery 插件。
它的功能之一是获取自用户上次事件以来的时间量。它允许您编写以下代码。
setInterval(function () {
if ($.idleTimer('getElapsedTime') < 5000) {
$("#feed").load("feed.php");
}
}, 5000);
关于jQuery 如果用户处于事件状态;重新加载 div,如果用户不活动则停止重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7919581/