クールなフロントエンドの進行状況バー:リングエフェクトとマウスのプロンプトを作成する
フロントエンドの進行状況バーの実装は簡単に思えますが、美学と機能の両方を考慮するにはスキルが必要です。この記事では、リング効果とマウスオーバープロンプトを備えたカスタムプログレスバーを作成する方法について説明します。
まず、中央のリングとマウスオーバープロンプトを含むコア要素を備えたプログレスバーを実装する必要があります。この記事では、特定のUIフレームワークに依存して柔軟性を高める代わりに、純粋にネイティブJavaScript、CSS、およびHTMLを使用します。
課題と解決策
リング効果の実装:既存のコンポーネントに直接ノードを挿入すると、互換性の問題や制限がある場合があります。したがって、CSSスタイルとHTML構造を介してリングを構築することを選択しました。
マウスホバープロンプト:これには、JavaScriptを使用して
mousemove
イベントをリッスンし、迅速な情報を動的に生成または更新する必要があります。
実装の手順とコードの例
- HTML構造:進行状況バーとリングを含むコンテナを作成します。
<div class="progress-container"> <div class="progress-bar"></div> <div class="progress-circle"></div> </div>
- CSSスタイル:進行状況のバー、リング、コンテナのスタイルを定義します。
.progress-container { 幅:200px; /*調整可能な幅*/ 高さ:20px; バックグラウンドカラー:#f0f0f0; 位置:相対; /*絶対に配置されたリングの参照を提供*/ } .progress-bar { 高さ:100%; バックグラウンドカラー:#4CAF50; /*カスタマイズ可能な色*/ } .progress-circle { 幅:15px; /*リングサイズ*/ 高さ:15px; 背景色:白。 国境:2pxソリッド#4caf50; ボーダーラジウス:50%; 位置:絶対; 右:0; /*リング位置*/ トップ:2.5px; /*垂直センタリング調整*/ }
- JavaScriptダイナミックアップデート: JavaScriptを使用して、進行状況バーの幅を動的に調整し、マウスイベントを処理します。
const Progressbar = document.queryselector( '。progress-bar'); const ProgressContainer = document.querySelector( '。progress-container'); Progress = 0; //初期進行機能updateProgress(newProgress){ Progress = math.min(100、math.max(0、newprogress)); //進捗状況が0-100 ProgressBar.style.width = `$ {progress}%`;の間であることを確認してください。 } ProgressContainer.AddeventListener( 'mousemove'、(e)=> { const rect = progresscontainer.getBoundingClientRect(); const x = e.clientx -rect.left; constulatedprogress =(x / rect.width) * 100; updateprogress(calculatedprogress); //リアルタイム更新の進行状況//プロンプト情報を表示(ツールチップライブラリまたはカスタムプロンプトボックスを使用できます) const tooltip = document.createelement( 'div'); tooltip.classlist.add( 'tooltip'); tooltip.textContent = `$ {calculatedProgress.tofixed(0)}%`; tooltip.style.left = `$ {x} px`; tooltip.style.top = `$ {rect.bottom 5} px`; //プロンプトボックスの場所document.body.appendchild(tooltip); }); ProgressContainer.AddeventListener( 'Mouseout'、()=> { //プロンプトメッセージconst tooltip = document.queryselector('。tooltip ')を削除します。 if(tooltip){ document.body.RemoveChild(ToolTip); } }); //例:進行状況の変更setinterval(()=> { UpdateProgress(Progress 5); }、1000); //進捗を1秒あたり5%増加させます
ツールチップのスタイルを追加することを忘れないでください:
.tooltip { 位置:絶対; バックグラウンドカラー:#333; 色:白; パディング:5px 10px; ボーダーラジウス:5px; 不透明:0.9; ポインターイベント:なし; /*マウス閉塞イベントを防ぐ*/ }
このコードは、マウスが動くときに進行状況の更新とプロンプト情報表示を実施するだけでなく、基本的な進行状況バーとリングエフェクトを実装します。 Animation Effectsの追加、より洗練された迅速な情報など、実際のニーズに応じてCSSスタイルとJavaScriptロジックを調整できます。ユーザーエクスペリエンスを改善するには、より成熟したツールチップライブラリを使用して迅速な情報を処理することを検討してください。
以上がリング効果とマウスの迅速な情報を備えたフロントエンドの進行状況バーを実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

Pavithra Kodmadは、彼らが変化したWeb開発に関する最も時代を超越した記事のいくつかであると考えていることについて、人々に推奨事項を求めました

GraphQL APIの構築方法を学ぶことは非常に挑戦的です。ただし、10分でGraphQL APIを使用する方法を学ぶことができます!そして、それは私が完璧になったことがあります

ここでは、Yuanchuanからの合法的なCSSの策略があります。このCSSプロパティオフセットパスがあります。むかしむかし、それはモーションパスと呼ばれ、その後改名されました。私


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
