Zepto animate と CSS3 トランジションを使用して、div を左にアニメーション化し、ボタンのクリックで再び元に戻す実験を行っています。このために、 margin-right:-0; のスタイリングでクラスを追加および削除する toggleClass を使用しています。
すべてが機能していますが、ボタンをクリックしてクラスを切り替えると、モバイル デバイスで非常にわずかな遅延が発生します。animate を使用して遅延なく動作させましたが、CSS3 トランジションはハードウェアで高速化されているため、アニメーションを少しスムーズにしたいと考えていました。
基本的に、ボタンをクリックしてアニメーションを切り替えると、起動する前に非常にわずかな一時停止が発生します。これを取り除きたいです。
コードは以下のとおりです。このわずかな遅延が発生する理由を誰か知っていますか? 私の推測では、クラスを切り替える速度とそのスタイルを読み取る速度に関係していると思いますか?
どんな助け/洞察も大歓迎です!
#side-menu {
float: right;
height: 100%;
width: 80%;
overflow: scroll;
margin-right:-1024px;
box-shadow: 4px 0 5px #484848 inset;
-webkit-box-shadow: 4px 0 5px #484848 inset;
-moz-box-shadow: 4px 0 5px #484848 inset;
background: linear-gradient(#444444, #333333) repeat scroll 0 0 #595858;
background: -webkit-linear-gradient(#444444, #333333) repeat scroll 0 0 #595858;
background: -moz-linear-gradient(#444444, #333333) repeat scroll 0 0 #595858;
background: -o-linear-gradient(#444444, #333333) repeat scroll 0 0 #595858;
-webkit-transition: margin-right 1s ease-in-out;
-webkit-transform: translate3d(0, 0, 0);
-webkit-transform: translateZ(0);
}
.sideMenuToggle{margin-right: 0 !important;}
$('#menu_toggle').on('click', function(){
$('#side-menu').toggleClass('sideMenuToggle');
})