红穆笔记
首頁 語言筆記 網頁播放音樂滾動歌詞效果
語言筆記 JavaScript

網頁播放音樂滾動歌詞效果

网页播放音乐滚动歌词效果

當網頁播放音頻時,可以利用 jQuery 和 HTML 實現歌詞滾動的效果。以下是一個簡單的實現:

HTML:

<div id="lyrics">
  <p data-time="0:00.00">作詞 : 娃娃</p>
  <p data-time="0:01.00">作曲 : 陶喆</p>
  <p data-time="0:04.50">Love... Baby LoveLoveLove baby</p>
  <p data-time="0:12.78"></p>
  <p data-time="0:24.76">請原諒我有決定會讓你煩惱</p>
  <p data-time="0:29.29">你要了解並不是你追得我想逃</p>
</div>
<audio id="audio" src="your-audio-file.mp3"></audio>

jQuery:

$(document).ready(function() {
  var audio = $("#audio")[0];
  var lyricDiv = $("#lyrics");

  audio.addEventListener("timeupdate", function() {
    var currentTime = audio.currentTime;
    var lyricP = lyricDiv.find("p");

    lyricP.each(function() {
      var lyricTime = $(this).data("time");
      var lyricText = $(this).text();

      if (currentTime >= convertToSeconds(lyricTime)) {
        $(this).addClass("active").siblings().removeClass("active");
        lyricDiv.animate({scrollTop: $(this).offset().top - lyricDiv.offset().top + lyricDiv.scrollTop() - 100}, 1000);
      }
    });
  });

  function convertToSeconds(time) {
    var parts = time.split(":");
    var minutes = parseInt(parts[0], 10);
    var seconds = parseFloat(parts[1]);
    return minutes * 60 + seconds;
  }
});

CSS:

#lyrics {
  height: 400px;
  overflow: auto;
  text-align: center;
  margin: 0 auto;
}

#lyrics p.active {
  color: red;
}

解釋一下上面的代碼:

  1. 首先,給每一行歌詞添加了一個 data-time 屬性,表示這一行歌詞在音頻文件中對應的時間。
  2. 在 jQuery 代碼中,獲取了 audio 元素和歌詞所在的 div 元素,並添加了一個 timeupdate 事件監聽器。每當音頻播放時間更新時,該事件就會觸發。
  3. 在事件監聽器中,首先獲取當前音頻播放的時間,然後遍歷每一行歌詞,判斷該行歌詞是否應該被激活(即是否應該滾動到屏幕中央)。如果是,就添加 active 類,並使用 jQuery 的 animate 方法將該行歌詞滾動到屏幕中央。
  4. 最後,定義了一個輔助函數 convertToSeconds,用於將時間字符串轉換爲秒數,以便進行比較。
微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

js 鼠标移上去修改style属性

js 鼠標移上去修改style屬性 語言筆記 JavaScript

演示效果鼠標移上去,顏色顯示爲紅色,鼠標移開,顏色顯示爲黑色。獲取id對象:document.getElementById()鼠標移上去:onmouseover鼠標移開:onmouseout&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; …
👁 130

推薦閱讀

针灸 治病

鍼灸 治病 業餘愛好 備忘筆記

鍼灸 頭部治病 全頭痛:百會穴(近取穴)、湧泉穴 偏頭痛:對側合谷,同側太陽透率谷 兼有噁心嘔吐:中脘,內關,足三里,公孫 耳後痛: 初痛:天井 久痛:中渚 前額痛:中脘穴 眉棱骨痛:對側陰陵泉下一寸 後腦痛:天柱 初痛:束骨穴 久痛:委中穴 腦瘤:全身抖動顫動,痙攣 處方(全蠍,蜈蚣)息風止痙 下…
👁 233
互联网信息数据安全防护类网站模板 0575

互聯網信息數據安全防護類網站模板 0575 實用收藏 易優模板

一款針對互聯網信息、數據安全與防護類行業的eyoucms網站模板。設計風格科技安全,能夠展示數據安全產品、信息安全服務、解決方案及技術實力。有助於網絡安全公司在線上展示品牌,吸引企業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常…
👁 43
(自适应手机端)响应式陶瓷研磨盘设备pbootcms网站模板 抛光设备网站源码下载 0321

(自適應手機端)響應式陶瓷研磨盤設備pbootcms網站模板 拋光設備網站源碼下載 0321 實用收藏 pbootcms模板

一款自適應手機端的響應式陶瓷研磨盤設備與拋光設備PbootCMS網站模板。設計風格專業精密,適合展示研磨產品、拋光工藝及工業應用。有助於磨具製造企業在線上展示技術實力,吸引工業客戶。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.cn…
👁 46
(自适应手机端)响应式珠宝首饰pbootcms网站模板 奢侈品网站源码下载 1026

(自適應手機端)響應式珠寶首飾pbootcms網站模板 奢侈品網站源碼下載 1026 實用收藏 pbootcms模板

一款響應式珠寶首飾與奢侈品PbootCMS網站模板,支持PC與WAP端。設計風格高端奢華,適合展示珠寶首飾、奢侈品品牌故事及產品。有助於奢侈品牌在線上傳遞品牌價值,吸引高淨值客戶。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.cn相…
👁 42
响应式网站建设设计推广优化网站模板 0576

響應式網站建設設計推廣優化網站模板 0576 實用收藏 易優模板

此套eyoucms響應式模板適用於網站建設、設計、推廣與優化行業,設計風格科技營銷,能夠展示建站案例、設計作品、推廣方案及優化服務。有助於網絡營銷公司在線上吸引企業客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易優CM…
👁 61