この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します。効果は次のとおりです。 実装されたコードは次のとおりです。 <!DOCTYPE html> <html> <ヘッド> <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" /> <title>読み込み進捗バーのネイティブ JS 実装</title> <スタイル> #進捗ボックス{ 幅: 300ピクセル; 高さ: 40px; 境界線: 1px 実線 #C8C8C8; 背景: 白; 位置: 相対的; マージン: 0 自動; 上マージン: 100px; } #プログレスバー{ 位置: 絶対; 左: 0; 上: 0; zインデックス: 2; 高さ: 40px; 幅: 100%; 行の高さ: 40px; 色: 白; テキスト配置: 中央; フォントサイズ: 20px; フォントの太さ: 太字; フォントファミリー: Georgia; クリップ: rect(0px, 0, 40px, 0px); 背景: #00A1F5; } #進捗テキスト{ 位置: 絶対; 左: 0; 上: 0; zインデックス: 1; 幅: 100%; 高さ: 40px; 行の高さ: 40px; 色: 黒; テキスト配置: 中央; フォントサイズ: 20px; フォントの太さ: 太字; フォントファミリー: Georgia; } </スタイル> <スクリプト> window.onload = 関数(){ // 現在の開始状態の値を設定します。 // 実際の状況では、HTML5 の onprogress と onload を使用してこれを完了します // バックグラウンドと連携して、ajax を介してリアルタイムでデータを返すこともできます var iNow = 0; // タイマーを設定する var timer = setInterval(function () { // 現在の値が100の場合 (iNow == 100)の場合{ // タイマーをクリアします clearInterval(timer); }それ以外 { // 現在の状態値に1を加算する iNow += 1; // 実行ステータス関数を呼び出してステータス値を渡します progressFn(iNow); } }, 30); 関数progressFn(cent) { // 最も外側のdivを取得する var oDiv1 = document.getElementById('progressBox'); // 内部プログレスバーのdivを取得する var oDiv2 = document.getElementById('progressBar'); // 内部テキストが変更されたときにdivを取得します var oDiv3 = document.getElementById('progressText'); // プログレスバーの合計幅を取得します。var allWidth = parseInt(getStyle(oDiv1, 'width')); // 2 つの内部 div のテキスト コンテンツを同じに設定します oDiv2.innerHTML = cent + '%'; oDiv3.innerHTML = セント + '%'; // クリップの幅を変更します oDiv2.style.clip = 'rect(0px, ' + cent / 100 * allWidth + 'px, 40px, 0px)'; // 現在の要素の属性値を取得する function getStyle(obj, attr) { // IE 互換 (obj.currentStyle)の場合{ obj.currentStyle[attr]を返します。 }それ以外 { // 2 番目のパラメータは false です。これは一般的な記述方法です。これは古いバージョンとの互換性のためです。 return getComputedStyle(obj, false)[attr]; } } } }; </スクリプト> </head> <本文> <div id="プログレスボックス"> <div id="progressBar">0%</div> <!-- 進捗がテキストを超えたときにテキストの色を変更するように 2 番目のレイヤーを設定します --> <div id="progressText">0%</div> </div> </本文> </html> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Dockerを使用してクローンリポジトリを使用してGitイメージを構築する
>>: HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR
echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...
この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...
目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...
リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...
この記事では、CSS3 を使用して中心点を中心に要素をレイアウトする方法の例を紹介します。詳細は次の...
NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...
<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...
CSS のモジュール ソリューションは、JS のモジュール ソリューションと同じくらい多く存在すると...
目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...
この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...
最近、vue について読みました。これまで基本的に見落としていた単一ファイル コンポーネントを見つけ...
序文最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが...
このとき、overflow:auto;(コードがコンテナの境界を超えたときにスクロールボックスを表示...