jQuery slideshow行为不端

时间:2011-04-03 03:10:55

标签: jquery css

http://dev.taragee.com/LTI/retouching/

每次脚本在图像之间切换时,它都会推动前一个图像。有没有办法阻止这个?

1 个答案:

答案 0 :(得分:1)

这是你的代码:

$(function(){
    $('.fadein div:gt(0)').hide();
    setInterval(function(){
      $('.fadein div:first-child').fadeOut()
         .next('div').fadeIn()
         .end().appendTo('.fadein');}, 
      6000);
});

FadeIn和FadeOut是可以同时运行的Ajax调用。在你的情况下,这就是发生的事情:

图片1 FadeOut开始
图2 FadeIn开始
将Pic 1移动到列表的末尾(仍然可见,看到跳转)
图1 FadeOut End(现在不可见)
图2 FadeIn End(现在可见)

我不完全确定你正在寻找什么行为,但我猜你想要使用动画完成时运行的FadeOut / FadeIn回调机制。例如:

   $(function(){
    $('.fadein div:gt(0)').hide();
    setInterval(function(){
      $('.fadein div:first-child').fadeOut(function() {
                 $('.fadein div:first-child').appendTo('.fadein'); // Move to end
                 $('.fadein div:first-child').fadeIn(); // Fade In new first image
              }
           );
          }, 6000);
});

那将等到第一个孩子完成fadingOut,然后它会把他撞到最后并且淡出新的第一个孩子。这些选择器不是最有效的;可能有更好的方法。