この記事では、動的なプログレスバー効果を実現するための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 ツール
この記事ではMySQL 8.0.24バージョンのインストールと設定方法を記録し、皆さんと共有しますM...
概要:ファイルシステム モジュールは、標準の POSIX ファイル I/O 操作セットをラップしたシ...
この記事では、例を使用して、MySQL で複数のトリガー操作を作成する方法について説明します。ご参考...
ルートパラメータ、ルートナビゲーションガード: ページが戻ったときに検索結果を保持する需要シナリオ:...
MariaDBをアンインストールするCentOS7 ではデフォルトで MySQL の代わりに Mar...
MySQL では、テーブル名の大文字と小文字の区別の問題が発生する可能性があります。実際、これはプラ...
<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...
通常、人事担当者と会うことはめったにありませんが、一度会うと、それが生死を分けることもあります。 H...
この場合、transition という単語を間違って書いたため、午後中ずっとそれに取り組みました。本...
@Font-face 基本紹介: @font-face は、Web ページにカスタム フォントを表示...
HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...
目次メイントピック1. UbuntuにDockerをインストールする2. DockerにROS2-F...
1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...
ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...
Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...