Vue 手書き読み込みアニメーション プロジェクト

Vue 手書き読み込みアニメーション プロジェクト

ページが応答しない場合、白い画面が表示されないように、読み込みアニメーションを表示するのがユーザーフレンドリーなパフォーマンスです。応答コンテンツがページにレンダリングされると、アニメーションは削除されます。

まずローディング効果の写真を載せます

原理:擬似クラス+アニメーション。以下はステップバイステップの図で、理解を助けるために掲載されています。ローディングアニメーションの本質は、幅と高さが固定された正方形を設定し、border-radius: 50%; で円形にし、divに3pxの境界線を付けて透明に設定し、上部の境界線を個別に白に設定し、::beforeと::after擬似クラスabsoluteを使用して配置し、同じ設定を行うことです。違いは、左のギャップを順番に増やし、アニメーションの実行時間が長くなり、遅延が設定されることで、円が異なる速度で回転できるようになります。

完全なコード:

コンポーネントフォルダ内のloading.vue

<テンプレート>
  <div id="loader_wrapper">
    <div id="loader"></div>
    <div class="load_title">読み込み中、お待ちください......</div>
  </div>
</テンプレート>
<スクリプト>
  エクスポートデフォルト{
      名前:"読み込み中",
  }
</スクリプト>
<スタイルスコープ>
#ローダーラッパー{
  位置: 固定;
  上: 0;
  左: 0;
  幅: 100%;
  高さ: 100%;
  zインデックス: 99;
  背景: rgba(0, 0, 0,.8);
  背景サイズ: 100% 100%;
}
#ローダ{
  表示: ブロック;
  位置: 相対的;
  左: 50%;
  上位: 50%;
  幅: 300ピクセル;
  高さ: 300px;
  /* 背景: 赤; */
  マージン: -150px 0 0 -150px;
  境界線の半径: 50%;
  境界線: 3px 透明実線;
  上の境界線の色: #fff;
  -webkit-animation: 5 秒間直線的に無限にスピンします。
  -ms-animation: 5秒間直線的に無限スピン;
  -moz-animation: スピン 5 秒 線形 無限;
  -o-animation : 5秒間、直線的に無限回転します。
  アニメーション:スピン 5 秒 線形 無限;
  zインデックス: 1001;
}
#ローダー:前{
  コンテンツ:"";
  位置: 絶対;
  上: 5px;
  左: 5px;
  右: 5px;
  下: 5px;
  境界線の半径: 50%;
  /* 背景: 緑; */
  境界線: 3px 透明実線;
  上の境界線の色: #fff;
   -webkit-animation: スピン 8 秒 線形 無限;
  -ms-animation: 8 秒間直線的に無限スピンします。
  -moz-animation: スピン 8 秒 線形 無限;
  -o-animation : 8秒間線形無限スピン;
  アニメーション:スピン 8 秒 線形 無限;
}
#ローダー:後{
  コンテンツ:"";
  位置: 絶対;
  上: 15px;
  左: 15px;
  右: 15px;
  下: 15px;
  境界線の半径: 50%;
  /* 背景: 黄色; */
  境界線: 3px 透明実線;
  上の境界線の色: #fff;
   -webkit-animation: スピン 8 秒、線形 1 秒、無限;
  -ms-animation: スピン 8 秒、線形 1 秒、無限;
  -moz-animation: スピン 8 秒、線形 1 秒、無限;
  -o-animation : スピン 8 秒、線形 1 秒、無限;
  アニメーション:スピン 8 秒 線形 1 秒 無限;
}
@-webkit-keyframes スピン {
  0%{
    -webkit-transform: 回転(0度);
    -ms-transform:回転(0度);
    変換:回転(0度);
  }
  100%{
    -webkit-transform: 回転(360度)。
    -ms-transform:回転(360度);
    変換: 回転(360度);
  }
}
 
@keyframes スピン{
  0%{
    -webkit-transform: 回転(0度);
    -ms-transform:回転(0度);
    変換:回転(0度);
  }
  100%{
    -webkit-transform: 回転(360度)。
    -ms-transform:回転(360度);
    変換: 回転(360度);
  }
}
#loader_wrapper .load_title{
  フォントファミリ: "Open Sans";
  色:#fff;
  フォントサイズ: .3rem;
  幅: 100%;
  テキスト配置: 中央;
  zインデックス: 9999;
  位置: 絶対;
  上位:70%
  不透明度: 1;
  行の高さ: .3rem;
}
</スタイル>

cs.vueページで読み込みを導入して登録する

csvue の

<テンプレート>
  <div class="main">
    <v-if="!initFlag" をロード中></ロード中>
    111
  </div>
</テンプレート>
 
<スクリプト>
  「../components/loading」からロードをインポートします。
  エクスポートデフォルト{
    名前:"トランニン",
    データ () {
      戻る {
        initFlag:false, // グローバル データを初期化する要求 false は要求が失敗したことを意味します}
      
    },
    コンポーネント:{
      読み込み中、
    }
  }
</スクリプト>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明
  • Vue でのトランジションアニメーション効果の適用の詳細な説明
  • Vue 学習ノート 上級章 単一要素遷移
  • Vueはカルーセルアニメーションを実装します
  • Vueのトランジションとアニメーションの深い理解

<<:  HTML フォームタグチュートリアル (2):

>>:  Dockerを使用してJenkinsをインストールする方法

推薦する

Vue ミックスインの詳しい説明

目次ローカルミックスイングローバル ミックスイン要約するローカルミックスイン <テンプレート&...

HTML およびプラグイン アプリケーションにおけるデータ カスタム属性の使用の概要

HTML にはデータ属性が含まれていることがよくあります。これらは HTML5 のカスタム属性です。...

自動ウェブページ更新と自動ジャンプのサンプルコード

ウェブページの自動更新: <head></head> の間に次のコードを追加...

JavaScript 変数の昇格についての簡単な説明

目次序文1. どのような変数が促進されますか? 2. 可変プロモーションがあるのはなぜですか? (1...

JavaScript ES6 分割演算子の理解と応用

目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...

MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明

Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

JSを段階的に学ぶ方法についての簡単な説明

目次概要1. jsの位置づけを明確に理解する2. 明確な学習パス3. 自己規律と粘り強さ4. 練習し...

Spring Boot 2.4 の新機能、ワンクリックビルド、Docker イメージプロセスの詳細説明

背景開発プロセス中に Docker コンテナ化をサポートするために、通常は Maven を使用してコ...

Linux でスワップ領域を確認する 5 つのコマンドの概要

序文Linux では、スワップ パーティションとスワップ ファイルの 2 種類のスワップ領域を作成で...

MySQL 5.7 でルートパスワードを忘れた後に変更する方法の詳細なチュートリアル

序文長い間、MySQL のアプリケーションおよび学習環境は MySQL 5.6 以前のバージョンであ...

LinuxでLVMディスクを拡張する詳細な手順

1.ハードディスクを追加する2. パーティションの状態を確認します: fdisk -l 3. パーテ...

js でシンプルなタブを実装する

タブ選択カードは、実際の Web ページで非常に頻繁に使用されます。基本的に、すべての Web ペー...

MySQL フェイルオーバー ノート: アプリケーション対応設計の詳細な説明

1. はじめに周知のように、データベース ミドルウェアの読み取り/書き込み分離のアプリケーション シ...