在 jquery 移动中离开页面时结束 SetInterval 函数
Ending SetInterval Function when leaving page in jquery mobile
我正在整理一个jquery移动网站,其中包括几个单独的网络摄像头页面(*.htm)。 在这些页面上,我正在加载一个设置间隔函数,该函数每隔几秒钟刷新一次来自相机的图像抓取并模拟视频。
但是,当我使用导航链接或后退按钮返回索引.htm离开网络摄像头页面(网络摄像头.htm)时,问题发生了,网络摄像头.htm页面保留在 DOM 中并每隔几秒钟拉取一次图像。
如何在用户离开时清除页面或至少结束间隔?
<script type="text/javascript">
function camfresh() {
setInterval(function(){ $("#rmcam").attr("src", "image.jpg?"+new Date().getTime());},2000);
}
</script>
您可以使用
pageshow
和pagehide
事件来启动和停止间隔:
var myInterval;
$(document).delegate('.ui-page', 'pageshow', function () {
//note that `this` refers to the current `data-role="page"` element
//cache `this` for later (inside the setInterval anonymous function)
var $this = $(this);
myInterval = setInterval(function(){
$this.find("#rmcam").attr("src", "image.jpg?"+new Date().getTime());
}, 2000);
}).delegate('.ui-page', 'pagehide', function () {
clearInterval(myInterval);
});
您可以将.ui-page
选择器更改为更具体(目前他们将选择每个伪页面)。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- node.js:setInterval()正在跳过调用
- 循环结束/推送到数组之前在页面上呈现EJS
- 在另一个函数成功结束后调用该函数
- 在动画结束之前调用函数
- setInterval和clearInterval javascript无法按需工作
- 希望日期开始结束于while循环中的一个房间id的一个数组
- Don'我不明白为什么我的setInterval+jQuery;不起作用
- 使用nunjucks时发生块结束错误
- setInterval游戏循环的范围问题
- HTML5获取弧的坐标's结束
- 内容结束时停止无限滚动
- JavaScript setInterval problems
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 如何在视频上显示海报图像使用Jquery结束
- 如何在Javascript中延迟setInterval
- 使用while循环+break是一种可接受的方式;goto;手术的结束
- 如何执行相同的setInterval()
- 在 jquery 移动中离开页面时结束 SetInterval 函数
- JS动画结束循环,希望在不使用的情况下连续循环;setInterval/setTimout