我最初写了一个关于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过渡吗? (或者我的理解不正确?)
我应该尝试解决这个问题?
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和无法让它发挥作用。
答案 0 :(得分:3)
第二个想法,问题可能是由于fadeOut
导致元素在其运行结束时具有display:none
这一事实。因此,当元素逐渐淡入时,首先需要显示它。这将是你描述的坚固的“闪烁”。
$('#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);
js一个工作示例: