我正在组装一个淡出动画的小问题 它通过动画正常运行两次,并包含一个正常工作的包装。
在第二张纸上,它会拍摄到第一张照片,而不是淡入淡出 我看了一下延迟,但是第一次工作正常,我不太确定从哪里开始。
有人可以协助吗? 谢谢大家。
链接到JSFiddle:http://jsfiddle.net/REbuy/1/
代码示例如下
jQuery的:
var speed = 2000;
function switcher(){
$('.next').animate({opacity:1}, speed, 'linear', function()
{
$('.current').removeClass('current');
$(this).addClass('current');
$('.next+li').addClass('next');
$(this).removeClass('next');
$('.next').css('opacity',0);
checker();
});
}
function checker(){
if($('.w-slides li:last').hasClass('current'))
{
$('.w-slides li:first').addClass('next');
}
else if($('.w-slides li:first').hasClass('next') && $('.w-slides li:last').hasClass('current'))
{
$('.w-slides li:first').addClass('current');
$('.w-slides li.current+li').addClass('next');
$('.w-slides li:first').removeClass('next');
}
switcher();
}
switcher();
HTML:
<div>
<div class="w-fader">
<ul class="w-slides">
<li class="current"><img src="fader-img-1.png" /></li>
<li class="next"><img src="fader-img-2.png" /></li>
<li><img src="fader-img-3.png" /></li>
</ul>
</div>
</div>
答案 0 :(得分:1)
问题是当你换行时,你没有将第一个项目的不透明度设置回零。
我将您的checker
功能更改为:
function checker(){
if($('.w-slides li:last').hasClass('current'))
{
$('.w-slides li:first').addClass('next').css('opacity',0);
}
}
似乎是work
我猜您也可以将调用移至checker
,然后转到设置不透明度的切换台中的行之前。