JavaScript でプログレスバーを実装するいくつかの方法の紹介
前回の記事では、進行状況バーの JavaScript 実装の例を紹介しましたが、実際のプロジェクトでは進行状況バーが依然として非常に便利であることは周知のとおりです。
最初に最終的な効果を見てみましょう:
最初のステップは、基本的に
基本コードを構築し、効果のデモを確認することです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>制作进度条的两种方法</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style> *{ margin:0; padding:0; } body{font-size:12px;}h1{font-size:15px;} .wrap{ font-size: 12px; margin:40px auto; width:400px; } /*进度条样式*/ .progressbar_1{ background-color:#eee; height:16px; width:150px; border:1px solid #bbb; color:#222; } .progressbar_1 .bar { background-color:#6CAF00; height:16px; width:0; } </style> </head> <body> <div class="wrap"> <h1 id="构建基本的HTML结构和CSS样式">1,构建基本的HTML结构和CSS样式</h1> 0%的状态: <div class="progressbar_1"> <div class="bar"></div> </div> 50%的状态: <div class="progressbar_1"> <div class="bar" style="width: 50%;"></div> </div> 80%的状态: <div class="progressbar_1"> <div class="bar" style="width: 80%;"></div> </div> 100%的状态: <div class="progressbar_1"> <div class="bar" style="width: 100%;"></div> </div> 这步非常简单,相信大家都能看明白。 </div> </body> </html>
2 番目のステップは、テキスト表示を追加することです。進行状況バー
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>制作进度条的两种方法</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style> *{ margin:0; padding:0; } body{font-size:12px;}h1{font-size:15px;} .wrap{ font-size: 12px; margin:40px auto; width:400px; } /*进度条样式*/ .progressbar_1{ background-color:#eee; color:#222; height:16px; width:150px; border:1px solid #bbb; } .progressbar_1 .bar { background-color:#6CAF00; height:16px; width:0; } /*绝对定位*/ .progressbar_2{ background-color:#eee; color:#222; height:16px; width:150px; border:1px solid #bbb; text-align:center; position:relative; } .progressbar_2 .bar { background-color:#6CAF00; height:16px; width:0; position:absolute; left:0; top:0; } .progressbar_2 .text { height:16px; position:absolute; left:0; top:0; width:100%; line-height:16px; } /*绝对定位 + z-index */ .progressbar_3{ background-color:#eee; color:#222; height:16px; width:150px; border:1px solid #bbb; text-align:center; position:relative; } .progressbar_3 .bar { background-color:#6CAF00; height:16px; width:0; position:absolute; left:0; top:0; z-index:10; } .progressbar_3 .text { height:16px; position:absolute; left:0; top:0; width:100%; line-height:16px; z-index:100; } </style> </head> <body> <div class="wrap"> <h1 id="给进度条增加文字显示">2,给进度条增加文字显示</h1> 一个进度条需要包含对应的进度文字显示,本例中,我希望文字显示在进度条的中间。 接下来,我们在进度条元素内增加一个显示 文字的div。 很显然,直接添加div后,div会占据原先绿色进度条的位置。看下面例子: <div class="progressbar_1"> <div >50%</div> <div class="bar" style="width: 50%;"></div> </div> 那么有什么办法使得文字 和 绿色进度条 同时显示在 一起呢? 估计你也想到了,那就是绝对定位。通过对父元素添加相对定位,然后给子元素添加绝对定位,设置子元素的左边距和上边距都为0。 看下面的例子: <div class="progressbar_2"> <div class="text">50%</div> <div class="bar" style="width: 50%;"></div> </div> 这时你会发现文字被遮盖了,相信你第一时间就会想到用 z-index 去设置他们的层级关系。 对,我也选择的是它。通过给他们设置不同的z-index值来确定层级关系,值越大越显示在上面。看下面例子: <div class="progressbar_3"> <div class="text">50%</div> <div class="bar" style="width: 50%;"></div> </div> <div class="progressbar_3"> <div class="text">80%</div> <div class="bar" style="width: 80%;"></div> </div> <div class="progressbar_3"> <div class="text">100%</div> <div class="bar" style="width: 100%;"></div> </div> 这是第一种方式,也是目前最为流行的 制作进度条的方式。 他的原理就是采用 相对定位和绝对定位,然后通过背景不同来控制进度。 接下来我们看第二种方式制作进度条。 </div> </body> </html>
原則は、相対位置と絶対位置を使用し、さまざまな背景を通じて進行状況を制御することです。 次に、進行状況バーを作成する 2 番目の方法を見ていきます。
3 番目のステップ、進行状況バーを作成する 2 番目の方法 -- 画像と背景画像を直接使用します
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style> *{ margin:0; padding:0; } body{font-size:12px;}h1{font-size:15px;} .wrap{ font-size: 12px; margin:40px auto; width:400px; } /*不带文字*/ .progress{ border:0; width: 152px; height: 18px; background:url(img/progress.gif) no-repeat -100px 50%; } /*带文字显示*/ .progressbar_3{ width:152px; position:relative; height:18px; text-align:center; position:relative; color:#222; } .progressbar_3 .text{ width:152px; position:absolute; left:0; top:0; height:18px; line-height:18px; z-index:100; } .progressbar_3 .progress{ width:152px; position:absolute; left:0; top:0; height:18px; z-index:10; } </style> </head> <body> <div class="wrap"> <h1 id="制作进度条的第二种方式-直接使用图片-背景图片">3,制作进度条的第二种方式---直接使用图片+背景图片</h1> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="0%" alt="0%" style="background-position:-152px 50%;"/> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="20%" alt="20%" style="background-position:-120px 50%;"/> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="50%" alt="50%" style="background-position:-76px 50%;"/> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="80%" alt="80%" style="background-position:-30px 50%;"/> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="100%" alt="100%" style="background-position: 0 50%;"/> 如果你想在上面进度条上添加进度显示的文字,你应该知道怎么办了(如果你仔细阅读过前面的例子的话)。 对,就是使用绝对定位+相对定位来控制。 <div class="progressbar_3"> <div class="text">0%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="0%" alt="0%" style="background-position:-152px 50%;"/> </div> <div class="progressbar_3"> <div class="text">20%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="20%" alt="20%" style="background-position:-120px 50%;"/> </div> <div class="progressbar_3"> <div class="text">50%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="50%" alt="50%" style="background-position:-76px 50%;"/> </div> <div class="progressbar_3"> <div class="text">80%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="80%" alt="80%" style="background-position:-30px 50%;"/> </div> <div class="progressbar_3"> <div class="text">100%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="100%" alt="100%" style="background-position: 0 50%;"/> </div> 这种方式的原理就是 利用 一张img图片,然后给img图片又设置背景图,通过背景图的background position 属性 来显示不同的部分。 当然这种方式 对图片有点要求 。你仔细一点就会发现,宽度是img的2倍。 另外图片必须是gif透明的,也就是说空心的。呵呵。看不到进度条。 总的来说,这应该算一个技巧,在实际项目中,也是能使用的。 <p style="float:right;">Dev By <a href="http://www.jb51.net" >jb51.net</a></p> </div> </body> </html>
4 番目のステップ、適用
最後に、簡単なアプリケーションを見てみましょう:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style> *{ margin:0; padding:0; } body{font-size:12px;}h1{font-size:15px;} .wrap{ font-size: 12px; margin:40px auto; width:400px; } /*不带文字*/ .progress{ border:0; width: 152px; height: 18px; background:url(img/progress.gif) no-repeat -100px 50%; } /*带文字显示*/ .progressbar_3{ width:152px; position:relative; height:18px; text-align:center; position:relative; color:#222; } .progressbar_3 .text{ width:152px; position:absolute; left:0; top:0; height:18px; line-height:18px; z-index:100; } .progressbar_3 .progress{ width:152px; position:absolute; left:0; top:0; height:18px; z-index:10; } </style> <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript" language="javascript" charset="gb2312"></script> <script> $(function(){ var $txt = $(".progressbar_3 .text"); var $progress = $(".progressbar_3 .progress"); $("#addTo").click(function(){ $progress.animate({"backgroundPosition":"-76px 50%"},500,function(){ $(this).attr({"alt":"50%","title":"50%"}); $txt.text("50%"); $("<p>进度条加载完毕!</p>").appendTo(".wrap"); }); }); $("#cutdown").click(function(){ $progress.animate({"backgroundPosition":"-120px 50%"},500,function(){ $(this).attr({"alt":"20%","title":"20%"}); $txt.text("20%"); $("<p>进度条加载完毕!</p>").appendTo(".wrap"); }); }); }); </script> </head> <body> <div class="wrap"> <h1 id="应用">4,应用</h1> <div class="progressbar_3"> <div class="text">0%</div> <img class="progress lazy" src="/static/imghw/default1.png" data-src="img/bg.gif" style="max-width:90%" style="max-width:90%" title="0%" alt="0%" style="background-position:-152px 50%;"/> </div> <button id="addTo" >增加至50%</button> <button id="cutdown" >减少至20%</button> 我使用的是第二种方式来做控制,通过animate来控制图片的background-position来达到进度条效果。 当然你也可以使用第一种方式做,第一种方式需要改变的是进度条的 width 属性。 <p style="float:right;">Dev By <a href="http://www.jb51.net" >jb51.net</a></p> </div> </body> </html>
アニメーションを使用して画像の背景位置を制御し、プログレスバー効果を実現します。
もちろん、最初の方法を使用することもできます。最初の方法で変更する必要があるのは、プログレスバーの幅属性です。
概要:
この記事を学習することで、友人は JavaScript でプログレスバーを実装する方法をよりよく理解できると思います。それぞれの方法は、自分のニーズに応じて適切な方法を選択できます。 !
関連する推奨事項:
以上がJavaScript でプログレスバーを実装するいくつかの方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









トマト ノベルは非常に人気のある小説閲覧ソフトウェアです。トマト ノベルでは、新しい小説や漫画を読むことができます。どの小説も漫画もとても面白いです。小説を書きたい友達もたくさんいます。お小遣いを稼いで、小説の内容を編集することもできます。 「テキストに文章を書きたいです。それで、小説はどうやって書くのですか?友達は知らないので、一緒にこのサイトに行きましょう。小説の書き方の入門を少し見てみましょう。」 Tomato Novels を使用して小説を書く方法に関するチュートリアルを共有します。 1. まず、携帯電話で Tomato Free Novels アプリを開き、パーソナル センター - ライター センターをクリックします。 2. Tomato Writer Assistant ページに移動し、次の場所で [新しい本の作成] をクリックします。小説の終わり

Colorful マザーボードは中国国内市場で高い人気と市場シェアを誇っていますが、Colorful マザーボードのユーザーの中には、設定のために BIOS を入力する方法がまだ分からない人もいます。この状況に対応して、編集者はカラフルなマザーボード BIOS に入る 2 つの方法を特別に提供しました。ぜひ試してみてください。方法 1: U ディスク起動ショートカット キーを使用して、U ディスク インストール システムに直接入ります。ワンクリックで U ディスクを起動する Colorful マザーボードのショートカット キーは ESC または F11 です。まず、Black Shark インストール マスターを使用して、Black Shark インストール マスターを作成します。 Shark U ディスク起動ディスクを選択し、コンピュータの電源を入れます。起動画面が表示されたら、キーボードの ESC キーまたは F11 キーを押し続けて、起動項目を順次選択するウィンドウに入ります。「USB」の場所にカーソルを移動します。 」と表示され、その後

残念ながら、WeChat は広く使用されているソーシャル ソフトウェアであり、何らかの理由で特定の連絡先を誤って削除してしまうことがよくあります。ユーザーがこの問題を解決できるように、この記事では、削除された連絡先を簡単な方法で取得する方法を紹介します。 1. WeChat の連絡先削除メカニズムを理解します。これにより、削除された連絡先を取得できるようになります。WeChat の連絡先削除メカニズムでは、連絡先がアドレス帳から削除されますが、完全には削除されません。 2. WeChat の組み込みの「連絡先帳復元」機能を使用します。WeChat には、この機能を通じて以前に削除した連絡先をすばやく復元できる「連絡先帳復元」機能が用意されています。 3. WeChat 設定ページに入り、右下隅をクリックし、WeChat アプリケーション「Me」を開き、右上隅にある設定アイコンをクリックして設定ページに入ります。

携帯電話が人々の日常生活において重要なツールになるにつれて、フォント サイズの設定は重要なパーソナライゼーション要件になりました。さまざまなユーザーのニーズを満たすために、この記事では、簡単な操作で携帯電話の使用体験を向上させ、携帯電話のフォントサイズを調整する方法を紹介します。携帯電話のフォント サイズを調整する必要があるのはなぜですか - フォント サイズを調整すると、テキストがより鮮明で読みやすくなります - さまざまな年齢のユーザーの読書ニーズに適しています - フォント サイズを使用すると、視力の悪いユーザーにとって便利です携帯電話システムの設定機能 - システム設定インターフェイスに入る方法 - 設定インターフェイスで「表示」オプションを見つけて入力します。 - 「フォント サイズ」オプションを見つけて、サードパーティでフォント サイズを調整します。アプリケーション - フォント サイズの調整をサポートするアプリケーションをダウンロードしてインストールします - アプリケーションを開いて、関連する設定インターフェイスに入ります - 個人に応じて

Win11 管理者権限の取得方法のまとめ. Windows 11 オペレーティング システムでは、管理者権限は、ユーザーがシステム上でさまざまな操作を実行できるようにする非常に重要な権限の 1 つです。ソフトウェアのインストールやシステム設定の変更など、一部の操作を完了するために管理者権限の取得が必要になる場合があります。以下にWin11の管理者権限を取得する方法をまとめましたので、お役に立てれば幸いです。 1. ショートカット キーを使用する Windows 11 システムでは、ショートカット キーを使用してコマンド プロンプトをすばやく開くことができます。

テクノロジーの発展に伴い、モバイルゲームは人々の生活に欠かせないものになりました。かわいいドラゴンエッグの画像と面白い孵化過程で多くのプレイヤーの注目を集めており、その中でも注目を集めているゲームの一つがモバイル版ドラゴンエッグです。プレイヤーがゲーム内で自分のドラゴンをより適切に育成し成長させることができるように、この記事ではモバイル版でドラゴンの卵を孵化させる方法を紹介します。 1. 適切な種類のドラゴン エッグを選択する プレイヤーは、ゲーム内で提供されるさまざまな種類のドラゴン エッグの属性と能力に基づいて、自分に適したドラゴン エッグの種類を慎重に選択する必要があります。 2. 孵化機のレベルをアップグレードします。プレイヤーはタスクを完了し、小道具を収集することで孵化機のレベルを向上させる必要があります。孵化機のレベルは孵化速度と孵化成功率を決定します。 3. プレイヤーはゲームに参加する必要がある孵化に必要なリソースを収集します。

Oracleバージョンのクエリ方法を詳しく解説 Oracleは、世界で最も人気のあるリレーショナルデータベース管理システムの1つで、豊富な機能と強力なパフォーマンスを提供し、企業で広く使用されています。データベースの管理と開発のプロセスでは、Oracle データベースのバージョンを理解することが非常に重要です。この記事では、Oracle データベースのバージョン情報をクエリする方法と具体的なコード例を詳しく紹介します。単純な SQL ステートメントを実行して、Oracle データベース内の SQL ステートメントのデータベース バージョンをクエリします。

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。
