CSS アニメーションが終了した後、js は翻訳された値を変更できません。_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:38:06
オリジナル
1304 人が閲覧しました

プロジェクトの必要性により、いくつかのページ遷移アニメーションを作成する必要があります。

これからモバイルになるので、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);
ログイン後にコピー

なんて頭が痛いです。 。

---------------------水は深いと言いますが、どうすれば恋の病に打ち勝つことができますか-------------- --- -----------

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート