所以我有这个奇怪的问题,我正在点击,我有一个幻灯片放映,其中设置间隔激发jquery动画方法.一切都很棒.
直到我切换标签.如果我在一段时间内使用幻灯片切换回切换选项卡,则会反复触发所有突然动画,而不会出现任何间隔.喜欢它正在追赶.
我有点想到它与RequestAnimationFrame和jQuery的animate方法有关.以及制表符处于非活动状态时如何抑制动画渲染.虽然间隔保持不变,但即使窗口处于非活动状态,也会频繁启动.
任何人都可以详细说明这一点,我会非常感激.
以下是执行此操作的核心代码:
function animate(setCurrent){
animationDistance = opt.cSlideWidth * (opt.cCurrentSlide - 1);
carousel.animate({left: '-' + animationDistance}, opt.cTransitionSpeed});
}
opt.cSetUpIntervalMethod = function(action){
if (action === 'start') {
clearInterval(opt.cSlideTimer);
opt.cSlideTimer = setInterval(function(){animate();},opt.cSlideDelay);
}
}
opt.cSetUpIntervalMethod('start');
Run Code Online (Sandbox Code Playgroud)
这是旧版JQuery中的一个错误,自从1.6.3版本开始修复.更新您的版本.
"当我们在版本1.6中添加支持时,我们对浏览器的requestAnimationFrame API抱有很高的期望.但是,自那时以来我们收到的最高投诉量之一与requestAnimationFrame在标签不可见时的行为方式有关.所有动画都已启动当标签是不可见的"堆栈"并且在标签恢复焦点之前不会被执行.然后它们都以经线速度动画!我们已经删除了对这个API的支持(这对你调用jQuery动画功能的方式没有影响)并计划将其纳入未来版本的jQuery."
http://blog.jquery.com/2011/09/01/jquery-1-6-3-released/
归档时间: |
|
查看次数: |
1085 次 |
最近记录: |