使用setInterval()函数进行图像闪烁
Image flickering with setInterval() function
我制作了一个旋转木马,并使用JavaScript setInterval()
函数在旋转木马中以固定间隔旋转图像。这是我使用过的脚本:
var timeOut = 4000;
function showSlide() {
//....script for showing image
}
function pauseSlide() {
setInterval(function(){showSlide();}, timeOut);
}
jQuery(document).ready(function() {
pauseSlide();
});
现在的问题是,当我更改浏览器选项卡,几分钟后再次返回到旋转木马浏览器,并且我看到旋转木马运行得比默认时间间隔快时,假设0时间间隔,图像将快速更改。请帮我解决这个问题。
您必须先去掉第一个间隔,然后再开始另一个间隔,或者您开始让多个间隔同时工作(即为什么您开始看到它运行得"更快")
做这个
var timeOut = 4000;
var interval = 0;
function showSlide() {
//....script for showing image
}
function pauseSlide() {
clearInterval(interval);
interval = setInterval(function(){showSlide();}, timeOut);
}
jQuery(document).ready(function() {
//NOW you can do multiple pauseSlide() calls
pauseSlide();
pauseSlide();
pauseSlide();
pauseSlide();
pauseSlide();
});
据我所知,在firefox和chrome的较新版本中,后台选项卡的setTimeout和setInterval被限制为1000ms以提高性能。所以我认为你的问题可能与此有关。
也许这会有所帮助:当Chrome中的选项卡处于非活动状态时,我如何使setInterval也能工作?
图像更改速度快于预期可能表明您以某种方式对pauseSlide()进行了多次调用。
document ready
是您调用该函数的唯一位置吗?showslide或任何触发文档就绪事件的地方有任何代码吗?如果你把一个alert()
放在pauseSlide()
中,它会弹出不止一次吗?
相关文章:
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 悬停时setInterval中的图像闪烁
- 按下按钮时图像持续闪烁
- jQuery图像在悬停时闪烁
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 正在创建随机图像闪烁
- iOS 8中滚动时的背景图像闪烁问题
- Javascript-使图像出现,然后将其替换为另一个图像(闪烁)
- 如何在渲染Backbone视图时防止图像闪烁
- 无法使图像闪烁(得到)预期的错误
- 鼠标经过时图像闪烁
- Skrollr图像闪烁.Firefox预加载问题
- 防止在src更改时出现大图像闪烁
- 如何在Javascript中使图像闪烁和重叠
- 图像闪烁然后消失
- 图像闪烁ajax轮询
- 使用图像映射时,鼠标悬停上的图像闪烁javascript
- 从本地主机加载时图像闪烁