Jquery见证推子不能顺利运行

时间:2013-12-16 12:57:00

标签: jquery fade testimonials

我使用jquery使用淡入淡出效果逐个旋转我的div,但效果并不平滑 它上下跳跃然后显示 这是我的小提琴。

http://jsfiddle.net/xXRwA/

$(document).ready(function(e) {

  $('.testimonials div:first').show();


    setInterval(function(){ $('.testimonials div:first-child').fadeOut().next('div').fadeIn().end().appendTo('.testimonials') },3000);
});

3 个答案:

答案 0 :(得分:2)

添加以下CSS:

.testimonials {
    position: relative;
}

.testimonials .a {
    position: absolute;
}

这会将所有.a置于一个

之上

DEMO:http://jsfiddle.net/xXRwA/1/

答案 1 :(得分:2)

使用回调函数:

setInterval(function(){ 
   $('.testimonials div:first-child').fadeOut(function() {
        $(this).next('div').fadeIn().end().appendTo('.testimonials');
   }); 
},3000);

http://jsfiddle.net/xXRwA/3/

请注意,您还可以缓存对象并根据其索引显示/隐藏元素。这可以更有效(,如果它重要),而不是查询DOM并创建许多jQuery对象,这在这里是不必要的。类似于this

答案 2 :(得分:1)

只需使用间隔来显示和隐藏方法:

 $('.testimonials div:first').show();

setInterval(function(){ $('.testimonials div:first-child').fadeOut(1000).next('div').fadeIn(1000).end().appendTo('.testimonials') },3000); 

或者更好的是,如果您不想查看跳转:

 $('.testimonials div:first').show();

setInterval(function(){ $('.testimonials div:first-child').fadeOut(1000).next('div').delay(1000).fadeIn(1000).end().appendTo('.testimonials') },3000);

JSFIDDLE:http://jsfiddle.net/xXRwA/4/