進捗バーのネイティブ JavaScript 実装

進捗バーのネイティブ JavaScript 実装

進捗バーを実装するための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 を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript プログレスバーのいくつかのメソッド
  • js でプログレスバーを実装する方法
  • ウェブページの読み込み進捗バーコードを実現するJavaScriptは超シンプルです
  • js プログレスバー実装コード
  • JS プログレスバー効果実装コードの構成
  • JS は円形のプログレスバー(0~100%)の効果を実現します
  • Javascript jquery css で書かれたシンプルなプログレスバーコントロール
  • CSS+JS で実装されたプログレスバー効果
  • js はオーディオ制御プログレスバー機能を実現します
  • PHP で JavaScript とセッションを使用してファイルアップロードの進行状況バー機能を実装する

<<:  VMware vSphere 6.7 (ESXI 6.7) のグラフィック インストール手順

>>:  MySQL ルートパスワードを変更する複数の方法 (推奨)

推薦する

MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

この記事では、mysql5.7.23 の詳細なインストールプロセスを記録し、皆さんと共有します。 1...

フロントエンドエンジニアが作ったクールなインタラクティブウェブサイトを推薦します

ウェブサイトリンク: http://strml.net/サミュエル・リード著ヒント: 昨日、Mome...

Vue+echarts でプログレスバーのヒストグラムを実現

この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...

Webデザインチュートリアル(2):模倣と盗作について

<br />前回の記事では、Webデザインの手順と方法を紹介しました。詳細については、前...

Linux プラットフォームでの Zabbix エージェントのインストールと設定方法

ここでは、Linux プラットフォームでの Zabbix エージェントのインストールと構成について簡...

Vue ファースト スクリーン パフォーマンス最適化コンポーネントの知識ポイントの概要

Vue ファースト スクリーン パフォーマンス最適化コンポーネントVue ファースト スクリーン パ...

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

インタラクティブデザインでページングと読み込みのどちらを選択するかについての説明

この記事の著者@子木yoyoが個人ブログに投稿したものです。 Web ページでもモバイル アプリでも...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

CSS3 rgb と rgba (透明色) の使い方の詳しい説明

誰もが色にとても敏感だと思います。私たちの目が見るところにはどこにでも色があります。では、CSS で...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

mysql IS NULL インデックスケースの説明を使用する

導入MySQL の SQL クエリ ステートメントで is null、is not null、!= ...

Vue の基本リスナーの詳細な説明

目次Vueのリスナーとは何かリスナーの使い方vue リスナーウォッチVue リスナー - ディープリ...

MySQL MVCCメカニズム原理の詳細な説明

目次MVCCとはMySQL ロックとトランザクション分離レベルMySQL 元に戻すログMVCCの実装...