这周学习HTML5
做了一个自定义播放器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>自定义播放器</title> </head> <style> #pro{ margin-top: 20px; width: 200px; height: 30px; border: 1px solid; margin-bottom: 20px; } #pro-bar{ height: 100%; width: 0%; background-color: skyblue; } </style> <body> <video id="kill" src="./杀死忍者.mp4"></video> <div id="pro"> <div id="pro-bar"></div> </div> <button id="playBtn">播放</button> <button id="start">从头开始</button> <button id="loopBtn">开启循环</button> <button id="next">快进30s</button> <button id="pre">后退10s</button> <script> let kill = document.getElementById("kill"); let pro = document.getElementById("pro"); let proBar = document.getElementById("pro-bar"); let playBtn = document.getElementById("playBtn"); let start = document.getElementById("start"); let loopBtn = document.getElementById("loopBtn"); let next = document.getElementById("next"); let pre = document.getElementById("pre"); let test = function(){ width2 = kill.currentTime/kill.duration; proBar.style.width = width2 *100+"%"; } setInterval("test()",10); pro.addEventListener("click",function(){ let x = event.offsetX; let percent = x/200; kill.currentTime = percent*kill.duration; console.log("接收到点击事件"); },false); playBtn.addEventListener("click",function(){ kill.play(); },false); kill.addEventListener("click",function(){ kill.pause(); },false); start.addEventListener("click",function(){ kill.currentTime = 0; },false); loopBtn.addEventListener("click",function(){ kill.loop = true; console.log("循环已经开启!") },false); next.addEventListener("click",function(){ kill.currentTime += 10; },false); pre.addEventListener("click",function(){ kill.currentTime -= 10; },false); </script> </body> </html>
给每个按钮设置相对应的事件即可
currentTime 指的是当面播放的秒数
可以设置为0 即重新播放
loop为循环
进度条点击事件 即
获取元素位于div的位置来设置
根据百分比来控制进度条