このsiteのように、フォームパーツの間では、いくつかのトランジションがいくつかのdiv
エレメントにチェーンで発生します。jQueryでの約束を伴うカスケードチェーントランジション
しかし、トランジションは連鎖で実行する必要があります。すなわち、次のトランジションは、前のトランジションがの場合はすべての対応する要素が完了したときに進みます。したがって、1は.promise().done()
例を使用する必要がある:
$("#p1").slideUp("slow", function(){
$("#description").
html(DescriptionHTML).
slideDown("fast", function(){
$("#div1, #div3").
hide().
promise().
done(function(){
$("#div1_td, #div3_td").
show().
promise().
done(function(){
$("#p2").
slideDown("slow", function(){
$("#div1, #div3").
show("slow").
promise().
done(function(){
scrollPage();
});
});
});
});
});
});
は、上記のコードのための任意のユーザーフレンドリーなショートカットはありますか?以下のような 何か:ES6で
.SyncChain({
step1: function(){
$("#p1").slideUp("slow");
},
step2: function(){
$("#description").html(DescriptionHTML).slideDown("fast");
},
step3: function(){
$("#div1, #div3").hide();
},
step4: function(){
$("#div1_td, #div3_td").show();
},
step5: function(){
$("#p1").slideDown("slow");
},
step6: function(){
$("#div1, #div3").show("slow").
}
});
私は考えています、ページの高さは、良いユーザーエクスペリエンスではなく縮小して拡張してください。より良いあなたはfadeInとfadeOutを使用します。 –
@RaviDelixan、あなたが持っていると思われる効果に依存します。 –