jQuery FadeIn和FadeOut导致闪烁?
作者:互联网
我最初写了有关jQuery插件的问题.从那以后,我尝试仅使用jQuery编写另一个代码:
$('#action-alerts .rotate:gt(0)').hide();
setInterval(function(){
$('#action-alerts .rotate:first-child').fadeOut(600)
.next('.rotate').delay(600).fadeIn(600)
.end().appendTo('#action-alerts');},
3000);
此代码在iOS中仍然存在闪烁的问题.我该如何解决这个问题?
以下是我的原始问题:
我正在使用一个名为Quote Rotator的jQuery插件.它在浏览器中很好用,但是,在iOS(v6)中,当过渡发生时,它会闪烁.这很烦人,我不确定如何解决闪烁问题.我已经阅读过有关-webkit-backface-visibility的信息,但我认为情况并非如此.首先,我已经在样式表中包含以下代码:
body {
-webkit-backface-visibility: hidden;
}
其次,这不仅仅适用于CSS 3 Transitions吗? (或者我的理解不正确吗?)
我应该如何解决这个问题?
HTML
<div id="action-alerts">
<ul>
<li>
<div class="quote-holder">
<div class="grid_10">
<h3 class="action-box-red"><span class="alert-icon">Text</span></h3>
</div>
<div class="grid_2">
<a target="_blank" href="#" class="default_button xlarge textcenter red">Read the <br> Report</a>
</div>
</div>
</li>
<li>
<div class="quote-holder">
<div class="grid_10">
<h3 class="action-box-red"><span class="alert-icon">Text</span></h3>
</div>
<div class="grid_2">
<a target="_blank" href="#" class="default_button xlarge textcenter red">Take <br> Action</a>
</div>
</div>
</li>
</ul>
</div>
JS:
$(function() {
$('#action-alerts').quote_rotator({
rotation_speed: 9000
});
});
注意:我的HTML数量超过了此处发布的数量.这是一个片段.我正在使用jQuery 1.8.3.我不介意更改为其他插件(如果它可以工作的话)(意味着它会在< li>元素之间创建简单的淡入淡出过渡.)我曾尝试在Quote Rotator之前使用Quovolver,但我使用issues却无法使其工作.
解决方法:
再想一想,该问题可能是由于fadeOut导致元素显示不显示而导致的:因此,当元素淡入时,首先需要显示它.这就是您所描述的那种粗糙的“闪烁”.
$('#action-alerts .rotate:gt(0)').fadeTo(10,0);
setInterval(function(){
$('#action-alerts .rotate:first-child').fadeTo(1000,0, function() {
$('#action-alerts .rotate:first-child').next('.rotate').delay(300).fadeTo(1000,1)
.end().appendTo('#action-alerts');
});
},
3000);
jsFiddle一个工作示例:
标签:flicker,fadein,javascript,jquery,fadeout 来源: https://codeday.me/bug/20191011/1893682.html