この記事では、動的なプログレスバー効果を実現するための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 ツール
mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...
MySQL では lastIndexOf に似た関数を使用する必要がある場合もありますが、すぐに使用...
目次1. Linuxのビット数を確認する2. JDKをダウンロードする3. JDKをインストールする...
デフォルトのブリッジ ネットワークのため、コンテナーを再起動すると IP アドレスが変更されます。シ...
Oracle と MySQL の高可用性ソリューションについては、以前からまとめたいと思っていたので...
いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...
目次序文1. DDL 1.1 データベース操作1.2 データテーブルの操作1.3 一般的なデータ型1...
乱雑なログ日常的に使用される Nginx は、静的リソース サーバーとリバース プロキシ サーバーの...
序文1. この記事ではMySQL 8.0バージョンを使用していますバージョン5.0と比較すると、パッ...
この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...
目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...
目次1. 存在する1.1 説明1.2 例1.3 交差/2017-07-21 2. 除く2.1 説明2...
padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...
目次序文コンポーネントの紹介クラスコンポーネントの作成状態についてレンダリングについて関数コンポーネ...
目次使用シナリオ達成方法1. 動的コンポーネントを配置する場所2. コンポーネントのインスタンスを取...