使用动画和每个动画迭代动画

时间:2012-12-02 20:42:51

标签: javascript jquery css animation

的Javascript

$(document).ready(function() {  
$(".container").animate({left:'120px'}, 6000).queue(function(next){
$(".child").css('display', 'none'); 
});
}); 

上面的脚本会动画一个框,然后在动画完成后隐藏它。 问题是我有一套相同的盒子,我想为每个盒子制作动画。我试图使用.each来使它工作,但到目前为止它根本不起作用。 所以再一次突出我的问题* 我想按时间顺序依次为一组相同的盒子制作动画(html-vise,首先是一个,然后是下一个),然后隐藏设置的框css属性和价值。这适用于一个盒子,但不适用于几个盒子。我尝试使用.each,但没有好消息。 *

HTML

<div class="container">
<div class="child"></div>
<div class="child"></div>
</div>

2 个答案:

答案 0 :(得分:2)

function queue(start) 
{
    var rest = [].splice.call(arguments, 1),
    promise = $.Deferred();

   if (start) 
   {
      $.when(start()).then(function () {
      queue.apply(window, rest);
                });
   } else {
        promise.resolve();
}
    return promise;
}





function animate()
{
    queue(function () {
        return $( ".child:first" ).animate({opacity: "show"}, "slow").delay(1500);
        }, function () {
        return $( ".child:first" ).animate({opacity: "hide"}, "slow");  
        }, function () {
        return $( ".child:second" ).animate({opacity: "show"}, "slow").delay(1500);
        }, function () {
        return $( ".child:second" ).animate({opacity: "hide"}, "slow"); 
    }});    
}

当你想要淡入和淡出你的div时调用动画

答案 1 :(得分:1)

你也可以这样做!

<script>
$(document).ready(function() {  
$(".container").animate({left:'120px'}, 6000).queue(function(next){
var childs = $('.child'),
    i = 0;
(function() {
  $(childs[i++]).hide('slow',arguments.callee);
})();
});
});
</script>

希望这可以帮到你