Jquery简单滑块问题时,浏览器选项卡不活动
Jquery simple slider problem when browser tab not active
我用setInterval()
滑块对我的目的来说工作得很好,但是当我打开其他选项卡,然后回到页面的选项卡时,所有的div都是可见的,然后它们开始消失,它又开始工作。
这是我的jquery,这是在$(function(){})
:
$('#slideshow-next').click(function() {
pauseSlideshow();
nextSlide();
});
$('#slideshow-prev').click(function() {
pauseSlideshow();
prevSlide();
});
$('#slideshow-pause').click(function(){
pauseSlideshow();
});
$('#slideshow-play').click(function() {
playSlideshow();
});
interval = setInterval('nextSlide()', 4000);
});
function playSlideshow() {
interval = setInterval('nextSlide()', 4000);
$('#slideshow-play').hide();
$('#slideshow-pause').show();
nextSlide();
}
function pauseSlideshow() {
interval = clearInterval(interval);
$('#slideshow-pause').hide();
$('#slideshow-play').show();
}
function nextSlide() {
//hide current slide
$('#slide'+currentSlide).hide();
// show next slide
var next = (currentSlide+1)%3;
$('#slide'+next).fadeIn('slow');
currentSlide = next;
}
function prevSlide() {
//hide current slide
$('#slide'+currentSlide).hide();
// show next slide
var next = (currentSlide-1)%3;
$('#slide'+next).fadeIn();
currentSlide = next;
}
我认为你可能会击中一个不同的情况下问Chrome:超时/间隔暂停在背景标签?,其中声明:
当选项卡处于非活动状态时,该函数每秒最多只被调用一次。
所以你可以编码setInterval
不同,我怎么能使setInterval也工作时,标签是不活动的Chrome?或者检测标签开关以停止幻灯片并重新开始标签focus如何判断浏览器/标签是否处于活动状态
同时,Jquery setInterval太快当来自另一个选项卡时可能是有用的,因为它声明
Firefox 5+还限制非活动选项卡每秒一次超时。
相关文章:
- location.reload(true)崩溃浏览器选项卡
- 如何在现有的浏览器选项卡中打开url
- 在用户关闭/更改移动浏览器选项卡之前进行检测
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 询问用户何时尝试关闭浏览器选项卡
- 自动关闭或覆盖通过命令行打开的浏览器选项卡
- 在两个浏览器选项卡之间共享变量范围
- 检查具有特定标题的浏览器选项卡是否已存在
- 如何防止用户使用浏览器选项禁用脚本
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- 当用户关闭浏览器选项卡时,如何使用 PHP 或 javascript 从我的站点注销用户
- 在单击浏览器选项卡上调用 js 函数
- 在 JavaScript 中识别浏览器选项卡的任何方法
- 如何使setInterval在浏览器选项卡处于焦点时运行
- 如何:让javascript在浏览器选项卡更改时运行
- 将键盘和鼠标事件从一个浏览器选项卡发送到另一个
- Node.js,并将数据发送回所有浏览器选项卡
- 如何设置浏览器选项卡's锚定目标名称
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- 有没有任何方法可以通过编程将浏览器选项卡放在前面(跨浏览器)