麻烦用jQuery动画淡出淡出

时间:2010-09-10 20:26:17

标签: jquery jquery-animate fadeout

我试图淡化页面上的一些元素,用AJAX获取新元素,然后淡入新的元素。淡入淡出很好,但淡出不会起作用。我尝试使用fadeOut,因为fadeIn运行良好,但是淡出效果根本不起作用 - 元素只是消失了。我现在正试图为不透明度变化设置动画。它适用于淡入。这是代码:

$(document).ready(function() {
   setTimeout("getTestimonial()", 10000);
});

   function getTestimonial() {
     var counter = $('#products #cart-widget .counter').html();
        $('#products #cart-widget p > span').each(function(index) {
           if($(this).is('.counter')) {
           } else {
              $(this).animate({opacity: 0}, 5000, function(){});
           }
        });
    $.get("testimonials_include.php5", {'counter':counter}, function(data) {
       $('#products #cart-widget p').replaceWith(data);
       $('#products #cart-widget p').children().css("opacity",0);
$('#products #cart-widget p > span').each(function(index) {
   if($(this).is('.counter')) {
   } else {
      $(this).animate({opacity: 1}, 5000, function(){});
   }
});
    });
    setTimeout("getTestimonial()", 10000);
   }

请注意,新元素的不透明度默认为1,因此我必须在淡入效果起作用之前将它们设置为0。有没有人有任何想法,为什么它不会淡出?

1 个答案:

答案 0 :(得分:1)

啊 - 问题是元素在淡入淡出完成之前被交换了。我把整个AJAX函数放在animate方法的完成函数中,嘿presto!