如何在鼠标悬停iFrame时暂停定时器(JavaScript/JQuery)
解决方案
你可以通过监听iframe的鼠标悬停与离开事件,控制定时器的启停来实现需求,修改后的代码如下:
function iframe() { $("#iframe").attr("src","admin.php"); } var timee = 10000; var intervalId = window.setInterval(iframe, timee); // 绑定iframe的鼠标悬停/离开事件 $("#iframe").hover( function() { // 鼠标悬停时清除定时器,停止刷新 clearInterval(intervalId); }, function() { // 鼠标离开时重新启动定时器,恢复刷新 intervalId = window.setInterval(iframe, timee); } );
代码说明
hover()是jQuery对mouseenter和mouseleave事件的简写,第一个回调处理鼠标进入iframe的逻辑,第二个处理鼠标离开的逻辑。- 鼠标悬停时用
clearInterval(intervalId)清除现有定时器,iframe就会停止自动刷新。 - 鼠标离开页面后重新调用
setInterval创建新定时器,并将返回ID赋值给intervalId,让iframe恢复每10秒刷新一次的规则。
内容的提问来源于stack exchange,提问作者MuxBH
相关产品推荐
相关产品推荐

