プロジェクトの必要性により、いくつかのページ遷移アニメーションを作成する必要があります。
これからモバイルになるので、CSS アニメーションを最初に行う必要があります。
CSS アニメーションでは、animation-fill-mode: Both を設定すると、アニメーション終了後に translation3d の値をカスタマイズできないことがわかりました
最初は、プロジェクトが複雑すぎて、コードが次のようになっていると思いました。以前は相互にやり取りしていましたが、今回はそうではありませんでした。
その後、テストするための簡単なデモを書きました。
css:
@keyframes slideInRight { 0% { visibility: visible; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } 100% { visibility: visible; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }}.slideInRight { -webkit-animation-name: slideInRight; animation-name: slideInRight; -webkit-animation-fill-mode: both; animation-fill-mode: both;animation-duration: .35s;}
CSS アニメーションが終了した後、translate3d() の js 手動設定は無効でした。 Google ブラウザでも値を設定できません。
アニメーション終了後はアニメーションスタイルを削除するしかありませんが、それでも一部のブラウザでは変更されません
1 $('.page').on('webkitAnimationEnd', function (e) {//webkit动画结束隐藏2 $(this).removeClass('animated slideInRight').trans3d(0);3 }, false);
なんて頭が痛いです。 。
---------------------水は深いと言いますが、どうすれば恋の病に打ち勝つことができますか-------------- --- -----------