進捗バーを実装するためのJavaScriptの具体的なコードは参考までに。具体的な内容は次のとおりです。 プログレスバーの実装の紹介JavaScript を使用してプログレスバー機能を実装します。 原理:マウス移動イベントを通じてマウスが移動する距離を取得します。 ステップ: (1) HTMLでのDIVレイアウト (2) CSSスタイルの記述 (3) JavaScriptの特殊効果の記述 HTMLコード<本文> <!-- 全体のボックス --> <div id="ボックス"> <!-- 進捗バー全体 --> <div id="進捗"> <!-- 進捗バーの長さ --> <div id="progress_head"></div> <!-- 進行状況バーの移動バー --> <span id="span"></span> <div> <!-- データを表示 --> <div id="パーセント">0%</div> </div> </本文> CSS スタイル<スタイル> /* 全体的なスタイル、デフォルトのスタイルを排除*/ 体{ マージン:0; パディング:0; } #箱{ 位置:相対; 幅:1000ピクセル; 高さ:30px; マージン:100px 自動; } #進捗{ 位置:相対; 幅:900ピクセル; 高さ:30px; 背景:#999999; 境界線の半径:8px; マージン:0 自動; } #進捗状況_head{ 幅:0px; 高さ:100%; 左上の境界線の半径:8px; 左下の境界線の半径:8px; 背景:#9933CC; } スパン{ 位置:絶対; 幅:20px; 高さ:38px; 背景:#9933CC; 上:-4px; 左:0px; カーソル:ポインタ; } #パーセンテージ{ 位置:絶対; 行の高さ:30px; テキスト配置:中央; 右:-44px; トップ:0; } </スタイル> JavaScript コード<スクリプト> //js ノードを取得 var oProgress = document.getElementById('progress'); var oProgress_head = document.getElementById('progress_head'); var oSpan = document.getElementById('span'); var oPercentage = document.getElementById('パーセンテージ') //マウスダウンイベントを追加 oSpan.onmousedown=function(event){ var イベント = イベント || window.event; var x = event.clientX-oSpan.offsetLeft; document.onmousemove=関数(){ var イベント = イベント || window.event; var wX = event.clientX-x; wX<0の場合 { 0 の場合 }それ以外の場合(wX>=oProgress.offsetWidth-20) { wX = oProgress.offsetWidth - 20; } oProgress_head.style.width=wX+'px'; oSpan.style.left=wX+'px'; oPercentage.innerHTML=parseInt(wX/(oProgress.offsetWidth-20)*100)+'%'; false を返します。 }; document.onmouseup=関数(){ ドキュメント.onmousemove=null; }; }; </スクリプト> レンダリング 全体的なコード<!DOCTYPE> <html lang="ja"> <ヘッド> <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" /> <title>進捗バー</title> <スタイル> /* 全体的なスタイル、デフォルトのスタイルを排除*/ 体{ マージン:0; パディング:0; } #箱{ 位置:相対; 幅:1000ピクセル; 高さ:30px; マージン:100px 自動; } #進捗{ 位置:相対; 幅:900ピクセル; 高さ:30px; 背景:#999999; 境界線の半径:8px; マージン:0 自動; } #進捗状況_head{ 幅:0px; 高さ:100%; 左上の境界線の半径:8px; 左下の境界線の半径:8px; 背景:#9933CC; } スパン{ 位置:絶対; 幅:20px; 高さ:38px; 背景:#9933CC; 上:-4px; 左:0px; カーソル:ポインタ; } #パーセンテージ{ 位置:絶対; 行の高さ:30px; テキスト配置:中央; 右:-44px; トップ:0; } </スタイル> </head> <本文> <!-- 全体のボックス --> <div id="ボックス"> <!-- 進捗バー全体 --> <div id="進捗"> <!-- 進捗バーの長さ --> <div id="progress_head"></div> <!-- 進行状況バーの移動バー --> <span id="span"></span> <div> <!-- データを表示 --> <div id="パーセント">0%</div> </div> </本文> </html> <スクリプト> //js ノードを取得 var oProgress = document.getElementById('progress'); var oProgress_head = document.getElementById('progress_head'); var oSpan = document.getElementById('span'); var oPercentage = document.getElementById('パーセンテージ') //マウスダウンイベントを追加 oSpan.onmousedown=function(event){ var イベント = イベント || window.event; var x = event.clientX-oSpan.offsetLeft; document.onmousemove=関数(){ var イベント = イベント || window.event; var wX = event.clientX-x; wX<0の場合 { 0 の場合 }それ以外の場合(wX>=oProgress.offsetWidth-20) { wX = oProgress.offsetWidth - 20; } oProgress_head.style.width=wX+'px'; oSpan.style.left=wX+'px'; oPercentage.innerHTML=parseInt(wX/(oProgress.offsetWidth-20)*100)+'%'; false を返します。 }; document.onmouseup=関数(){ ドキュメント.onmousemove=null; }; }; </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: VMware vSphere 6.7 (ESXI 6.7) のグラフィック インストール手順
>>: MySQL ルートパスワードを変更する複数の方法 (推奨)
NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...
Docker を初めて使用する場合は、コンテナの管理を始めるために習得する必要がある基本的なコマン...
transform: scale(); スケーリングするとIEブラウザでジッターが発生します変換スケ...
1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...
コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...
目次1. 理解2. 使用1. h() パラメータ2. 使い方が簡単3. カウンターケースを実装する4...
最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...
Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...
CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...
目次1. イベント委任とは何ですか? 2. イベント委任の原則3. イベント委託の役割1. イベント...
1. 何ですか視差スクロールとは、複数の背景レイヤーを異なる速度で動かすことで、3次元のモーション...
目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...
チームは新しいフレームを交換しました。すべての新しいビジネスでは、新しいフレームワークと新しいデータ...
1. 50と93では鏡像が消える [root@h50 /]# df -h ファイルシステムの使用済み...
1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...