我有一个带有 jquery 的动画文本效果,它在 chrome 和 ie 中运行良好,但在用户切换选项卡时会在 Firefox 中中断。如果您切换选项卡并让动画运行 10-15 秒,然后返回您可以看到动画尝试一次运行多行。
我尝试过使用条件 for$(window).blur()
和$(window).focus()
以及完全clearInterval
没有运气的函数。
这是该网站的链接
这是有问题的jquery:
$(document).ready(function(){
$('.container .flying-text').css({opacity:0});
$('.container .active-text').animate({opacity:1, marginLeft: "350px"}, 4000);
var int = setInterval(changeText, 5000);
function changeText(){
var $activeText = $(".container .active-text");
var $nextText = $activeText.next();
if($activeText.next().length == 0) $nextText = $('.container .flying-text:first');
$activeText.animate({opacity:0}, 200);
$activeText.animate({marginLeft: "-100px"});
$nextText.css({opacity: 0}).addClass('active-text').animate({opacity:1, marginLeft: "350px"}, 4000, function(){
$activeText.removeClass('active-text');
});
}
});
的HTML:
<div class="container">
<h3 id="fly1" class="flying-text active-text">Creative Solutions</h3>
<h3 id="fly2" class="flying-text">Graphics</h3>
<h3 id="fly3" class="flying-text">Sourcing</h3>
<h3 id="fly4" class="flying-text">Distribution</h3>
<h3 id="fly5" class="flying-text">Online Tools</h3>
<h3 id="fly6" class="flying-text">Custom Branding</h3>
<h3 id="fly7" class="flying-text">Personalized Support</h3>
</div>
和CSS:
.flying-text{
margin-left:-100px;
font-size:60px;
text-align:center;
font-style:bold;
}
关于可能的修复的任何想法?我知道浏览器在非活动选项卡中以较慢的速度呈现动画,但我似乎无法定位动画并在切换的选项卡上停止/恢复它。提前致谢。