====== Animation jQuery d'éléments séparés ====== 1er exemple : rects = $("svg rect");// Sélectionne tous les rectangles, les seuls objets à animer ici. $("svg rect").hide();// Cacher les éléments animés $(document).ready(function() { speed = 150;// Vitesse du fading 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; } queue( function () { return rects.delay(500);}, function () { return rects.eq(5).fadeIn(speed);}, function () { return rects.eq(0).fadeIn(speed);}, function () { return rects.eq(6).fadeIn(speed);}, function () { return rects.eq(4).fadeIn(speed);}, function () { return rects.eq(7).fadeIn(speed);}, function () { return rects.eq(1).fadeIn(speed);}, function () { return rects.eq(3).fadeIn(speed);}, function () { return rects.eq(2).fadeIn(speed);} ); },false); 2ème exemple : anim_1 = jQuery('header, body'); anim_2 = jQuery('#main'); anim_3 = jQuery ('#points > img, #point-bas'); anim_1.css("opacity", "0"); anim_2.css("opacity", "0"); anim_3.css("opacity", "0"); jQuery(document).ready(function($){ 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; } queue( function () { return anim_1.animate({opacity: "1"}, 1200);}, function () { return anim_2.delay(100);}, function () { return anim_2.animate({opacity: "1"}, 900);}, function () { return anim_3.eq(0).animate({opacity: "1"}, 600);}, function () { return anim_3.eq(1).animate({opacity: "1"}, 600);}, function () { return anim_3.eq(2).animate({opacity: "1"}, 600);}, function () { return anim_3.eq(3).animate({opacity: "1"}, 600);} ); });