jQuery如果用户活动;重新加载div,如果用户不活动则停止重新加载

时间:2011-10-27 17:01:11

标签: jquery load timeout python-idle

我有以下情况。 我的Twitter提要应该每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/

提前致谢。

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用idleTimer jQuery插件。

其中一项功能是获取用户上次活动后的时间。它允许您编写以下代码。

setInterval(function () { 
  if ($.idleTimer('getElapsedTime') < 5000) {
    $("#feed").load("feed.php");
  }
}, 5000);

答案 1 :(得分:1)

如何跟踪鼠标的位置? 每隔5秒或每当,查看鼠标的坐标是否与上一次检查中的坐标相同。如果它们是相同的,那么假设鼠标没有移动。然后不要刷新您的Feed。如果它们不同,请刷新您的Feed。

只是一个想法。