Reactコンポーネントの読み込み時にアニメーションを防止する

ジョリー

基本的に、アニメーション付きのコンポーネントがありますが、ユーザーが特定のブレークポイントでページのサイズを変更した場合にのみ表示したいと思います(幅が800px未満の場合は、divを再配置します。その場合は、アニメーション)。

私はなんとかそれを行うことができますが、問題は、最初にページをロードしたときに、アニメーションが表示されないときにアニメーションが開始されることです。

私が十分に明確になったことを願っています

編集:このdivを「Test」コンポーネントのrender()関数に入れます。「main-content」はflexで、最初の2つのdivはそれぞれ幅の50%の最初の行にあり、3番目の内部divは幅100%の2行目。

<div className="main-content">
    <div className="content-box admin-setting-container">
    </div>

    <div className="content-box change-password-container">
    </div>

    <div className="content-box organization-setting-container">
    </div>
</div>

.cssファイルに次のコードがあります。

@media only screen and (max-width: 1000px) {
    .change-password-container, .organization-setting-container {
        animation: fadeDown 0.5s ease-out;
    }
}

@keyframes fadeDown {
    0% {
        opacity: 0.01;
        transform: translateX(-25%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

そのため、ウィンドウの幅が1000未満になると、内部divごとに1つずつ、合計3つの行が作成されます。それは機能しますが、問題は、幅がすでに1000未満のときにページを開くと、それを阻止したとしても、アニメーションが引き続き実行されることです。

私が試した1つのことは、div'main-content 'に特別なクラス' preload 'を設定し、コンポーネントがMountになったらそのクラスを削除することでした。CSSクラスのプリロードにより、アニメーションが妨げられます。コードをお見せしましょう。

/* IN REACT COMPONENT FILE */
componentDidMount() {
    document.getElementsByClassName("preload")[0].classList.remove("preload");
}
... <div className="main-content preload"> ... </div> ...

/*IN CSS FILE */
.preload * {
     animation-duration: 0s !important;
     -webkit-animation-duration: 0s !important;
 }
マタンボビ

さて、あなたが何を話しているのかわかりました。サイズを変更しているときにのみアニメーション化しようとしていますが、幅が1000px未満になるたびにメディアクエリが発生します。

IMOは、サイズ変更イベントのクラスを追加する必要があります。私はそれをこのように構築します:

  updateWidth() {
    if(window.innerWidth < 1000 && this.state.width > 1000 || window.innerWidth > 1000 && this.state.width < 1000) {
      this.setState({ width window.innerWidth });
    }
  }


  componentDidMount() {
    window.addEventListener("resize", this.updateWidth);
  }

  componentWillUnmount() {
    window.removeEventListener("resize", this.updateWidth);
  }

コンポーネントで、状態の幅が1000未満かどうかを確認し、animateクラスを追加します。大きい場合は、animateクラスを削除します。コンストラクターでイベントリスナーハンドラーをバインドすることを忘れないでください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「この」コンポーネントのみをアニメーション化するようにReact-Nativeアニメーションを修正する方法

分類Dev

Angular2でのCSS3読み込みアニメーションコンポーネント

分類Dev

WPF:Windowsの読み込み時に非表示のコントロールのアニメーションを停止する

分類Dev

react / reduxの読み込みアクションから読み込みアニメーションをトリガーする方法

分類Dev

コンテンツの置き換え中に読み込みアニメーションを追加する

分類Dev

アクティビティの読み込み時にProgressBarにアニメーションを適用する

分類Dev

dgvの読み込み中に読み込みアニメーションを表示する

分類Dev

GSAPとjQuery:次のページの読み込み時にアニメーションを再生する

分類Dev

D3ページの読み込み時にグラフをアニメーション化する

分類Dev

別の操作の実行中にアニメーションの読み込みテキストを表示する

分類Dev

コンポーネントの読み込み時にのみ<Skeleton.Image />を表示する方法(Ant Design)

分類Dev

Cookieを使用した初回のページ読み込み時にのみ読み込みアニメーションを表示しますか?

分類Dev

Angular-ページの読み込み時にアニメーション化

分類Dev

読み込み時間後に表示するdivのjqueryアニメーション

分類Dev

クリックすると、画像ボタンにアニメーションの読み込みを表示する

分類Dev

アプリケーションのトレイメニューに透明アイコンを読み込む

分類Dev

2ページ目の読み込み時にのみターゲットにアニメーション化する

分類Dev

ページ読み込み時のみのjQueryアニメーション

分類Dev

SwipeRefreshLayout読み込みアニメーションをLottieアニメーションに置き換える方法

分類Dev

ページ読み込み時のChromeアニメーションリンク

分類Dev

ページ読み込み時のChromeアニメーションリンク

分類Dev

データの取得中に読み込みアニメーションを表示する(Angular 10)

分類Dev

ページの読み込み時にIDまでスクロールをアニメーション化

分類Dev

コンテンツの読み込み中の角度読み込みアニメーション

分類Dev

Flutterのページ読み込み時にアニメーションを自動的に開始するにはどうすればよいですか?

分類Dev

読み込み中/ FXMLを表示するときにアニメーションで短い吃音の回避

分類Dev

待機中に読み込み中のアニメーションを表示する

分類Dev

Reactツールボックス-JSONの読み込み中に回転のみをアニメーション化するCircularProgressBar

分類Dev

ブラウザの読み込みアニメーションに似た読み込みバーを表示する

Related 関連記事

  1. 1

    「この」コンポーネントのみをアニメーション化するようにReact-Nativeアニメーションを修正する方法

  2. 2

    Angular2でのCSS3読み込みアニメーションコンポーネント

  3. 3

    WPF:Windowsの読み込み時に非表示のコントロールのアニメーションを停止する

  4. 4

    react / reduxの読み込みアクションから読み込みアニメーションをトリガーする方法

  5. 5

    コンテンツの置き換え中に読み込みアニメーションを追加する

  6. 6

    アクティビティの読み込み時にProgressBarにアニメーションを適用する

  7. 7

    dgvの読み込み中に読み込みアニメーションを表示する

  8. 8

    GSAPとjQuery:次のページの読み込み時にアニメーションを再生する

  9. 9

    D3ページの読み込み時にグラフをアニメーション化する

  10. 10

    別の操作の実行中にアニメーションの読み込みテキストを表示する

  11. 11

    コンポーネントの読み込み時にのみ<Skeleton.Image />を表示する方法(Ant Design)

  12. 12

    Cookieを使用した初回のページ読み込み時にのみ読み込みアニメーションを表示しますか?

  13. 13

    Angular-ページの読み込み時にアニメーション化

  14. 14

    読み込み時間後に表示するdivのjqueryアニメーション

  15. 15

    クリックすると、画像ボタンにアニメーションの読み込みを表示する

  16. 16

    アプリケーションのトレイメニューに透明アイコンを読み込む

  17. 17

    2ページ目の読み込み時にのみターゲットにアニメーション化する

  18. 18

    ページ読み込み時のみのjQueryアニメーション

  19. 19

    SwipeRefreshLayout読み込みアニメーションをLottieアニメーションに置き換える方法

  20. 20

    ページ読み込み時のChromeアニメーションリンク

  21. 21

    ページ読み込み時のChromeアニメーションリンク

  22. 22

    データの取得中に読み込みアニメーションを表示する(Angular 10)

  23. 23

    ページの読み込み時にIDまでスクロールをアニメーション化

  24. 24

    コンテンツの読み込み中の角度読み込みアニメーション

  25. 25

    Flutterのページ読み込み時にアニメーションを自動的に開始するにはどうすればよいですか?

  26. 26

    読み込み中/ FXMLを表示するときにアニメーションで短い吃音の回避

  27. 27

    待機中に読み込み中のアニメーションを表示する

  28. 28

    Reactツールボックス-JSONの読み込み中に回転のみをアニメーション化するCircularProgressBar

  29. 29

    ブラウザの読み込みアニメーションに似た読み込みバーを表示する

ホットタグ

アーカイブ