この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な内容は次のとおりです。 デモンストレーション効果:構造進捗状況/index.js const コントローラ = { 初期化: require('./controllers/html'), 速度: require('./controllers/speed') } exports.init = コントローラ.init exports.speed = コントローラ.speed 進捗状況/コントローラ/html/index.js エクスポート.set = () => { dom = document.createElement('div') とします。 dom.setAttribute('id', 'progress_speed') dom.classList.add('progress-box', 'progress-hide') dom.innerHTML = '<div class="progress progress-speed-hide" id="progress_box_speed"><div class="speed" style="width:0%;background: #f2f3f5;transition: 0.2s;"></div></div>' document.getElementById('app').insertBefore(dom、document.getElementById('app').firstChild) の順にクリックします。 スタイル = ` .progress-box{ 幅: 100%; 高さ: 100%; 遷移: 0.4秒; 位置: 固定; 上: 0; 左: 0; 背景: rgba(0,0,0,0.5); zインデックス:4002; } 。進捗 { 境界線の半径: 19px; 背景: #f2f3f5; 幅: 80%; 高さ: 38px; 位置: 固定; 上: calc(50% - 19px); 左: 計算(50% - 40%) zインデックス:2000; 遷移: 0.4秒; 不透明度: 1; } .progress-hide{ 境界線の半径: 19px; 幅: 0%; 高さ: 0%; 上: calc(50% - 0%); 左: 計算(50% - 0%); 遷移: 0.2秒; オーバーフロー: 非表示; } .進行速度非表示{ 幅: 0%; 高さ: 0px; 遷移: 0.6 秒; 不透明度: 0; オーバーフロー: 非表示; } 。スピード { 境界線の半径: 19px; 背景画像: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,透明 25%,透明 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,透明 75%,透明); 背景画像: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,透明 25%,透明 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,透明 75%,透明); 背景画像: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent); 高さ: 38px; -webkit-背景サイズ: 40px 40px; 背景サイズ: 40px 40px 幅: 0%; 遷移: 0.3秒; 背景色:#409EFF; -o-animation: プログレスバーストライプ 2s 線形無限; アニメーション: プログレスバーストライプ 2 秒 線形 無限; } .スピード成功{ 幅: 100%; 背景色: #67c23a; } @-webkit-keyframes プログレスバーのストライプ { から { 背景位置: 40px 0 } に { 背景位置: 0 0 } } @-o-keyframes プログレスバーストライプ { から { 背景位置: 40px 0 } に { 背景位置: 0 0 } } @keyframes プログレスバーのストライプ { から { 背景位置: 40px 0 } に { 背景位置: 0 0 } }` styleElement = document.getElementById('progress') とします。 スタイル要素の場合 styleElement = document.createElement('style') styleElement.type = 'text/css' styleElement.id = '進捗状況' document.getElementsByTagName('head')[0].appendChild(styleElement) styleElement.appendChild(document.createTextNode(スタイル)) } } 進捗/コントローラ/スピード/index.js exports.run = (時間) => { document.getElementById('progress_speed').classList.remove('progress-hide') 時間 = 時間 * 100 dom = document.getElementById('progress_box_speed') とします。 dom.classList.remove('進行速度を非表示') dom.getElementsByClassName('speed')[0].classList.remove('speed-success') タイムアウトを設定する(() => { dom.getElementsByClassName('speed')[0].setAttribute('style', 'width:' + time + '%') }, 10) (時間 >= 100) の場合 { タイムアウトを設定する(() => { dom.getElementsByClassName('speed')[0].classList.add('speed-success') dom.getElementsByClassName('speed')[0].setAttribute('style', 'width:100%') dom.classList.add('進行速度を非表示') タイムアウトを設定する(() => { document.getElementById('progress_speed').classList.add('progress-hide') dom.getElementsByClassName('speed')[0].setAttribute('style', 'width:0%') }, 900) }, 1000) } } 使い方は?main.js にインポートします (独自の新しいファイルのパスに基づきます。これは私の独自のパスです) './common/progress' から進捗状況をインポートします グローバルマウント Vue.prototype.$progress = 進行状況 構造 使用: this.$progress.init.set() this.$progress.speed.run('10.555555') // 進捗バーは10.555555%に達します 進行状況バーが 100 に達すると、自動的に非表示になります。グローバルにマウントして、プログレス バーが必要な場所ならどこでも使用できます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: データベース管理に役立つ 5 つの MySQL GUI ツール
margin:auto; + position: absolute; 上、下、左、右:0デモを見れ...
2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...
Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...
この記事では、フィルターを使用して日付をフォーマットするVueの具体的なコードを参考までに紹介します...
1.ロックしますか? 1.1 ロックとは何ですか?ロックの本当の意味は、鍵またはコードで開くことがで...
序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...
環境: MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0....
スワップを無効にするサーバーがデータベース サービスまたはメッセージ ミドルウェア サービスを実行し...
1: Baiduウェブサイトログイン入口ウェブサイト: http://www.baidu.com/s...
この記事では、JavaScriptでじゃんけんゲームを書くための具体的なコードを参考までに紹介します...
Linux サーバーのホスト ファイルの構成hosts ファイルは、Linux システム内の IP ...
注:記事に誤りがある場合は、メッセージを残して指摘してください。ご協力ありがとうございます。名前名前...
1. インストールと使用まず、Vue プロジェクトにインストールします。 npm インストール --...
HTML img タグ: Web ページに導入される画像を定義します。興味深い usemap 属性も...
1. どの 3 つの形式ですか?それぞれ、gif、jpg、png です。画像ファイルを最適化すること...