搜尋
首頁web前端css教學如何實現帶有圓環效果和鼠標提示信息的前端進度條?

如何實現帶有圓環效果和鼠標提示信息的前端進度條?

打造炫酷前端進度條:圓環效果與鼠標提示

前端進度條的實現看似簡單,但要兼顧美觀和功能性,則需要一些技巧。本文將探討如何創建一個帶有圓環效果和鼠標懸停提示信息的自定義進度條。

首先,我們需要實現一個進度條,其核心元素包含一個中間的圓環和鼠標懸停提示。 本文將採用純原生JavaScript、CSS和HTML的方式,而非依賴特定UI框架,以提供更高的靈活性。

挑戰與解決方案

  1. 圓環效果的實現:直接在現有組件中插入節點可能存在兼容性問題或限制。因此,我們選擇通過CSS樣式和HTML結構來構建圓環。

  2. 鼠標懸停提示:這需要使用JavaScript監聽mousemove事件,並動態生成或更新提示信息。

實現步驟及代碼示例

  1. HTML結構:創建一個包含進度條和圓環的容器。
<div class="progress-container">
  <div class="progress-bar"></div>
  <div class="progress-circle"></div>
</div>
  1. CSS樣式:定義進度條、圓環和容器的樣式。
 .progress-container {
  width: 200px; /* 可調整寬度*/
  height: 20px;
  background-color: #f0f0f0;
  position: relative; /* 為絕對定位的圓環提供參考*/
}

.progress-bar {
  height: 100%;
  background-color: #4CAF50; /* 可自定義顏色*/
}

.progress-circle {
  width: 15px; /* 圓環大小*/
  height: 15px;
  background-color: white;
  border: 2px solid #4CAF50;
  border-radius: 50%;
  position: absolute;
  right: 0; /* 圓環位置*/
  top: 2.5px; /* 垂直居中調整*/
}
  1. JavaScript動態更新:使用JavaScript動態調整進度條寬度並處理鼠標事件。
 const progressBar = document.querySelector('.progress-bar');
const progressContainer = document.querySelector('.progress-container');
let progress = 0; // 初始進度function 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;
  const calculatedProgress = (x / rect.width) * 100;
  updateProgress(calculatedProgress); // 實時更新進度// 顯示提示信息(可以使用tooltip 庫或自定義提示框)
  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); // 每秒增加5%進度

記得添加tooltip的樣式:

 .tooltip {
  position: absolute;
  background-color: #333;
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  opacity: 0.9;
  pointer-events: none; /* 防止遮擋鼠標事件*/
}

這段代碼實現了基本的進度條和圓環效果,以及鼠標移動時的進度更新和提示信息顯示。您可以根據實際需求調整CSS樣式和JavaScript邏輯,例如添加動畫效果、更精細的提示信息等。 記住,為了更好的用戶體驗,可以考慮使用更成熟的tooltip庫來處理提示信息。

以上是如何實現帶有圓環效果和鼠標提示信息的前端進度條?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
' CSS4”更新' CSS4”更新Apr 11, 2025 pm 12:05 PM

自從我第一次介紹了CSS4面中的事情以來,就已經進行了更多的討論。我將在這裡從其他人那裡匯集我最喜歡的想法。有

三種代碼三種代碼Apr 11, 2025 pm 12:02 PM

每次啟動一個新項目時,我都會將我正在查看的代碼分為三種類型,或者如果您願意的話。我認為這些類型可以應用於

https很容易!https很容易!Apr 11, 2025 am 11:51 AM

我對公開哀悼HTTPS的複雜性感到內gui。過去,我從第三方供應商那裡購買了SSL證書,並且遇到了麻煩

HTML數據屬性指南HTML數據屬性指南Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

了解JavaScript中的不變性了解JavaScript中的不變性Apr 11, 2025 am 11:47 AM

如果您以前從未在JavaScript中使用不變性,則可能會發現很容易將其與為新值或重新分配分配變量的混淆。

具有現代CSS功能的定製樣式表單輸入具有現代CSS功能的定製樣式表單輸入Apr 11, 2025 am 11:45 AM

如今,可以在語義上且易於訪問的同時構建自定義的複選框,無線電按鈕和切換開關。我們甚至不需要

腳註字符腳註字符Apr 11, 2025 am 11:34 AM

有特殊的超級數字字符有時非常適合腳註。他們在這裡:

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器如何使用HTML,CSS和JavaScript創建動畫倒計時計時器Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境