jQuery で作成したスクリプトを改善して、複数のアニメーションを (タイムライン シーケンスのようなもので) 連鎖させるアニメーションを実行することを検討しています。個々のアニメーションを手動で連鎖させる代わりに、各アニメーションで標準的ないくつかの要素を置き換える関数を書きたいと思います。
確かに、これを達成するためのベスト プラクティスを知るための JavaScript の知識はありません。そうは言っても、いくつかのポインタ/例は素晴らしいでしょう。
これが私が持っているものです:
function itemsFirstAnim() {
// Define each target div
var one = $(".one");
var two = $(".two");
var three = $(".three");
var four = $(".four");
var five = $(".five");
var six = $(".six");
var seven = $(".seven");
var eight = $(".eight");
var nine = $(".nine");
var ten = $(".ten");
var eleven = $(".eleven");
var twelve = $(".twelve");
// Show a block (opacity 1), give the overlay a position, show and animate it
twelve.css("opacity", 1).children(".overlay").show().animate({ right: "100%" }, 750, function() {
// cover the block with the overlay when the animation is done
twelve.children('.overlay').css({ right: 0 });
eleven.css("opacity", 1).children(".overlay").show().animate({ bottom: "100%" }, 750, function() {
eleven.children('.overlay').css({ bottom: 0 });
seven.css("opacity", 1).children(".overlay").show().animate({ right: "100%" }, 750, function() {
seven.children(".overlay").css({ right: 0 });
and so on....
});
});
});
}
理想的には、最初のセレクター (つまり) とアニメーションの方向 (つまり) を置き換えるtarget
との引数が必要です。andはそれぞれ異なるため、関数を 12 回ネストしない限り、関数を記述してその内部で呼び出すことはできません。direction
twelve
right: "100%"
target
direction
最後に、これらの 12 個すべてが適用されたときに、この関数 (またはおそらくプラグイン?) の実行を停止したいと思います。
残念ながら、アニメーションの順序は連続していません (例に示すように。ただし、アニメーション化する番号の順序は知っています)。
これが私が持っているものの例です: http://codepen.io/anon/full/Dxzpj
誰かが洞察を持っているなら、それは大歓迎です。ありがとう!