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.jsはシンプルなタイマー機能を実装します

この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...

js のマクロタスクとマイクロタスクについての簡単な説明

目次1. JavaScriptについて2. JavaScript イベントループ3. マクロタスクと...

MySQL5.7.27-winx64 バージョン win10 のダウンロードとインストールのチュートリアル図

MySQL 5.7 のインストール私たちは学校で MySQL データベースを学んでいます。先生は私た...

explainコマンドがMySQLデータを変更する理由

クエリで EXPLAIN を実行するとデータベースが変更されるかどうかを尋ねられた場合、おそらく「い...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

Linuxのwhichコマンドの具体的な使い方

Linux でファイルを見つけたいのに、その場所がわからないことがよくあります。次のコマンドを使用し...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...

高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

デフォルトの Linux カーネル パラメータは最も一般的なシナリオに基づいており、高い同時アクセス...

Rancher のデプロイメントと K8S クラスターのインポートに関する問題

Rancher のデプロイメントには、次の 3 つのアーキテクチャがあります。高可用性 Kubern...

MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。

1. 概要MySQL データベースの日常的な操作とメンテナンスにおいて、ユーザーが誤ってデータを削...

ffmpeg コマンドラインを使用してビデオを変換するためのサンプルコード

この記事の本文を始める前に、まず ffmpeg プログラムをインストールする必要があります (Lin...

スクロールバーがスペースを占有することで発生するバグを修正しました

背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...

Ubuntu 16.04 で MySQL マスター スレーブ同期を設定する方法

準備1. マスターとスレーブのデータベースのバージョンは一致している必要があります2. マスターデー...

React Fiber構造の作成手順

目次リアクトファイバーの作成1. 始める前に2. React.renderから始める3. 終了リアク...