使用MP4視頻格式鏈接地址的自適應視頻彈窗實現方案HTML代碼

以下是使用MP4視頻格式鏈接地址的自適應視頻彈窗實現方案:

視頻彈窗播放器
使用原生MP4視頻格式鏈接,直接通過HTML5 video元素播放
響應式設計適配不同屏幕尺寸,16:9視頻比例保持不變
底部視頻列表可橫向滾動,點擊縮略圖切換不同視頻
漸變色彩滾動條和懸停動畫增強用戶體驗
關閉按鈕位于彈窗右上角,點擊遮罩層也可關閉
完全基于HTML5+CSS3+JavaScript實現,無外部依賴

替換視頻鏈接說明:

修改video-thumbnail元素的onclick屬性中的MP4鏈接
更新img的src屬性為對應視頻縮略圖
修改video-title內容為實際視頻標題
主視頻播放器會自動加載點擊的視頻源


<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>MP4視頻彈窗播放器</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Microsoft YaHei', sans-serif;background-color: #f5f5f5;height: 100vh;display: flex;justify-content: center;align-items: center;}.open-btn {padding: 12px 24px;background: linear-gradient(135deg, #6e8efb, #a777e3);color: white;border: none;border-radius: 6px;cursor: pointer;font-size: 16px;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);transition: all 0.3s ease;}.open-btn:hover {transform: translateY(-2px);box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);}.modal-overlay {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.8);display: none;justify-content: center;align-items: center;z-index: 1000;opacity: 0;transition: opacity 0.3s ease;}.modal-overlay.active {display: flex;opacity: 1;}.modal-container {background-color: #1a1a1a;border-radius: 12px;width: 90%;max-width: 1000px;overflow: hidden;box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);position: relative;}.video-container {width: 100%;padding-bottom: 56.25%; /* 16:9 寬高比 */position: relative;}.video-container video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;outline: none;}.close-btn {position: absolute;top: -15px;right: -15px;width: 40px;height: 40px;border-radius: 50%;background: linear-gradient(135deg, #ff4e50, #f9d423);border: none;color: white;font-size: 1.2rem;cursor: pointer;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);transition: all 0.2s ease;display: flex;justify-content: center;align-items: center;}.close-btn:hover {transform: scale(1.1);}.video-list {display: flex;padding: 15px;overflow-x: auto;gap: 15px;background-color: #2a2a2a;scrollbar-width: thin;scrollbar-color: #6e8efb #2a2a2a;}.video-list::-webkit-scrollbar {height: 8px;}.video-list::-webkit-scrollbar-track {background: #2a2a2a;border-radius: 10px;}.video-list::-webkit-scrollbar-thumb {background: linear-gradient(to right, #6e8efb, #a777e3);border-radius: 10px;}.video-thumbnail {min-width: 120px;height: 80px;border-radius: 6px;overflow: hidden;cursor: pointer;transition: transform 0.2s ease;position: relative;}.video-thumbnail:hover {transform: scale(1.05);}.video-thumbnail img {width: 100%;height: 100%;object-fit: cover;}.video-title {position: absolute;bottom: 0;left: 0;right: 0;background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);color: white;padding: 5px;font-size: 0.8rem;text-align: center;}@media (max-width: 768px) {.modal-container {width: 95%;}.video-thumbnail {min-width: 100px;height: 70px;}}</style>
</head>
<body><button class="open-btn" id="openModalBtn"><i class="fas fa-play"></i> 播放視頻</button><div class="modal-overlay" id="modalOverlay"><div class="modal-container"><button class="close-btn" id="closeModalBtn"><i class="fas fa-times"></i></button><div class="video-container"><video id="mainVideo" controls><!-- 默認視頻源 --><source src="https://example.com/sample.mp4" type="video/mp4">您的瀏覽器不支持HTML5視頻</video></div><div class="video-list"><!-- 視頻1 --><div class="video-thumbnail" onclick="playVideo('https://example.com/video1.mp4', '視頻標題1')"><img src="https://picsum.photos/200/150?random=1" alt="視頻1縮略圖"><div class="video-title">視頻標題1</div></div><!-- 視頻2 --><div class="video-thumbnail" onclick="playVideo('https://example.com/video2.mp4', '視頻標題2')"><img src="https://picsum.photos/200/150?random=2" alt="視頻2縮略圖"><div class="video-title">視頻標題2</div></div><!-- 視頻3 --><div class="video-thumbnail" onclick="playVideo('https://example.com/video3.mp4', '視頻標題3')"><img src="https://picsum.photos/200/150?random=3" alt="視頻3縮略圖"><div class="video-title">視頻標題3</div></div><!-- 視頻4 --><div class="video-thumbnail" onclick="playVideo('https://example.com/video4.mp4', '視頻標題4')"><img src="https://picsum.photos/200/150?random=4" alt="視頻4縮略圖"><div class="video-title">視頻標題4</div></div></div></div></div><script>const modalOverlay = document.getElementById('modalOverlay');const openModalBtn = document.getElementById('openModalBtn');const closeModalBtn = document.getElementById('closeModalBtn');const mainVideo = document.getElementById('mainVideo');// 打開彈窗openModalBtn.addEventListener('click', () => {modalOverlay.classList.add('active');// 自動播放第一個視頻const firstVideo = document.querySelector('.video-thumbnail');if(firstVideo) firstVideo.click();});// 關閉彈窗closeModalBtn.addEventListener('click', () => {modalOverlay.classList.remove('active');mainVideo.pause();});// 播放指定視頻function playVideo(videoUrl, videoTitle) {mainVideo.src = videoUrl;mainVideo.load();mainVideo.play();// 更新視頻標題(如果有需要可以顯示在界面上)console.log('正在播放:', videoTitle);}// 點擊遮罩層關閉彈窗modalOverlay.addEventListener('click', (e) => {if(e.target === modalOverlay) {modalOverlay.classList.remove('active');mainVideo.pause();}});</script>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94812.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94812.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94812.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中農具身導航賦能智慧農業!AgriVLN:農業機器人的視覺語言導航

作者&#xff1a;Xiaobei Zhao, Xingqi Lyu, Xiang Li單位&#xff1a;中國農業大學論文標題&#xff1a;AgriVLN: Vision-and-Language Navigation for Agricultural Robots論文鏈接&#xff1a;https://arxiv.org/pdf/2508.07406v1代碼鏈接&#xff1a;https://github.com/Al…

Zynq開發實踐(Verilog、仿真、FPGA和芯片設計)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】zynq最大的優勢&#xff0c;就是把arm和fpga結合在一起了。這樣一顆soc里面&#xff0c;就可以用軟件去驅動外設ip&#xff0c;這是之前沒有過的體驗…

LabVIEW刺激響應測量解析

?該 LabVIEW 程序用于刺激 - 響應測量&#xff0c;實現測試信號生成、響應采集及測量分析&#xff0c;涵蓋信號同步、并行處理等概念&#xff0c;用于設備總諧波失真&#xff08;THD&#xff09;等電信號特性測量場景&#xff0c;借助 LabVIEW 圖形化編程優勢&#xff0c;將復…

Boosting(提升法)詳解

一、引言在集成學習&#xff08;Ensemble Learning&#xff09;中&#xff0c;Boosting&#xff08;提升法&#xff09; 是一種非常經典且強大的方法。它通過將多個弱學習器&#xff08;Weak Learners&#xff09;進行迭代組合&#xff0c;逐步提升整體的預測性能&#xff0c;從…

寵物智能手機PetPhone技術解析:AI交互與健康監測的系統級創新

當你的寵物通過AI自主接聽視頻通話&#xff0c;背后是計算機視覺與邊緣計算的技術融合。全球首款寵物智能手機正在重新定義跨物種人機交互。近日&#xff0c;亞洲寵物展覽會上亮相的PetPhone引發了技術社區的廣泛關注。這款專為寵物設計的智能設備集成了多項技術創新&#xff0…

智慧零售商品識別誤報率↓74%!陌訊多模態融合算法在自助結算場景的落地優化

原創聲明&#xff1a;本文為原創技術解析文章&#xff0c;核心技術參數與架構設計引用自 “陌訊技術白皮書”&#xff0c;禁止未經授權的轉載與篡改。文中算法邏輯與實戰方案均基于陌訊視覺算法 v3.2 版本展開&#xff0c;所有實測數據均來自智慧零售場景下的真實部署環境。一、…

ArcGIS學習-9 ArcGIS查詢操作

前置操作加載數據修改坐標系修改單位屬性查詢單條件查詢打開安徽省縣界的屬性表多條件查詢值得注意的是&#xff0c;不加括號和前面加括號&#xff0c;查出來的結果一致&#xff08;35條記錄&#xff09;而后面加括號&#xff0c;查詢結果與之前的不一致&#xff08;25條記錄&a…

A-Level物理課程全解析:知識點、學習計劃與培訓機構推薦

A-Level物理課程是國際教育體系中的重要科目&#xff0c;不僅為大學理工科專業打下基礎&#xff0c;也培養學生的科學思維與實驗能力。本文將從核心知識點解析、高效學習計劃制定&#xff0c;以及優質培訓機構推薦三個方面&#xff0c;為學生和家長提供全面、實用的指南。一、A…

Linux 進階之性能調優,文件管理,網絡安全

一、系統性能調優系統性能調優是 Linux 管理中的關鍵技能&#xff0c;它能顯著提升系統在不同應用場景下的表現。通過針對性的調優&#xff0c;可以解決資源瓶頸問題&#xff0c;提高服務響應速度&#xff0c;優化資源利用率。&#xff08;一&#xff09;CPU 性能調優知識點詳解…

【科普向-第五篇】MISRA C實戰手冊:規則與指令全解析

目錄 引言 1.1 起源與目的 1.2 規則體系結構 一.變量與類型&#xff08;Rule 1–9&#xff09; Rule 1.1 — 變量必須顯式初始化&#xff08;Mandatory&#xff09; Rule 1.2 — 使用固定寬度整數類型&#xff08;Mandatory&#xff09; Rule 1.3 — 避免未定義行為的類…

Custom SRP - Shadow Masks

截圖展示的是:近處實時陰影,遠處烘焙陰影1 Baking Shadows陰影讓場景更具層次感和真實感,但是實時陰影渲染距離有限,超出陰影距離的世界由于沒有陰影顯得很“平”.烘焙的陰影不會受限于陰影距離,可以與實時陰影結合解決該問題:最大陰影距離之內使用實時陰影最大陰影距離之外用烘…

Python爬蟲實戰:研究spidermonkey庫,構建電商網站數據采集和分析系統

1 引言 1.1 研究背景 互聯網數據已成為商業決策、學術研究的核心資源,網絡爬蟲作為數據獲取的主要工具,在靜態網頁時代發揮了重要作用。然而,隨著 AJAX、React、Vue 等技術的廣泛應用,超過 70% 的主流網站采用 JavaScript 動態生成內容(如商品列表滾動加載、評論分頁加載…

智能駕駛規劃技術總結

前言 本文主要對智能駕駛規劃技術相關知識進行初步探究和總結&#xff0c;以加深理解&#xff0c;及方便后續學習過程中查漏補缺。 分層規劃策略 尋徑 A*算法 概念 節點&#xff1a;網格化后的每一個最小單元父節點&#xff1a;路徑規劃中用于回溯的節點列表&#xff1a;需要不…

05 網絡信息內容安全--對抗攻擊技術

1 課程內容 網絡信息內容獲取技術網絡信息內容預處理技術網絡信息內容過濾技術社會網絡分析技術異常流量檢測技術對抗攻擊技術 2 對抗攻擊概述 2.1 對抗攻擊到底是啥&#xff1f; 咱們先舉個生活例子&#xff1a; 你平時看蘋果能認出來 —— 紅顏色、圓溜溜、帶個小揪揪。但如果…

【FPGA】VGA顯示-貪吃蛇

這個項目實現了一個完整的貪吃蛇游戲&#xff0c;使用Verilog HDL在FPGA上構建。項目包含了VGA顯示控制、按鍵消抖處理、游戲邏輯和圖形渲染等多個模塊&#xff0c;展示了數字邏輯設計的綜合應用。 項目概述 該設計使用硬件描述語言實現了經典貪吃蛇游戲的所有核心功能&#…

從PostgreSQL到人大金倉(KingBase)數據庫遷移實戰:Spring Boot項目完整遷移指南

&#x1f4d6; 前言 在國產化浪潮的推動下&#xff0c;越來越多的企業開始將數據庫從國外產品遷移到國產數據庫。本文將以一個真實的Spring Boot項目為例&#xff0c;詳細介紹從PostgreSQL遷移到人大金倉&#xff08;KingBase&#xff09;數據庫的完整過程&#xff0c;包括遇到…

Docker 入門指南:從基礎概念到常見命令及高級工具詳解

Docker 入門指南&#xff1a;從基礎概念到常見命令及高級工具詳解 大家好&#xff01;今天我們來聊聊 Docker 這個強大的容器化工具。如果你是一個開發者、運維工程師&#xff0c;或者只是對云計算和容器技術感興趣的人&#xff0c;Docker 絕對值得你深入了解。它可以幫助你輕松…

Redis數據持久化——RDB快照和Aof日志追加

Redis數據持久化數據持久化&#xff1a;將內存中的數據保存到磁盤中。作用&#xff1a;讓Redis服務重啟后可以恢復之前的數據。一、Redis數據持久化的方式&#xff1a;RDB&#xff08;快照&#xff09;&#xff1a;將內存中Redis緩存的所有數據&#xff0c;都以二進制字符串的方…

淺聊達夢數據庫物理熱備的概念及原理

達夢數據庫&#xff08;DM Database&#xff09;的物理熱備份&#xff0c;核心是在數據庫不中斷業務&#xff08;聯機&#xff09; 的前提下&#xff0c;通過對數據庫物理文件&#xff08;如數據文件、控制文件、日志文件等&#xff09;的增量或全量復制&#xff0c;實現數據備…

C++ 中 ::(作用域解析運算符)的用途

C 中 ::&#xff08;作用域解析運算符&#xff09;的應用場景詳解 在 C 中&#xff0c;:: 被稱為 作用域解析運算符&#xff08;Scope Resolution Operator&#xff09;&#xff0c;用于明確指定某個名字&#xff08;變量、函數、類型等&#xff09;所屬的命名空間或類作用域&a…