-
Notifications
You must be signed in to change notification settings - Fork 1
/
progress-normal.js
29 lines (28 loc) · 1.09 KB
/
progress-normal.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(function(){
const onProgress = (e, $dom, playControl) => {
const updateFunc = (percent) => {
playControl.percent = percent
playControl.time = e.detail.currentTime
//console.log('currentTime:', e.detail.currentTime)
//console.log('percent:', percent)
//console.log(progress)
$dom.style.width = percent+'%'
}
let percent = ((e.detail.currentTime / e.detail.duration) * 100).toFixed(1)
updateFunc(percent)
}
const mockTime = () => {
// 0.1~0.3
return Math.random() * 2/10 +0.1;
}
window.progressNormal = (currentTime, duration, $dom, playControl) => {
if(currentTime==duration) return;
const updateTime = mockTime();
setTimeout(() => {
currentTime+=updateTime;
if(currentTime>duration) currentTime = duration;
onProgress({"detail":{"currentTime": currentTime,"duration": duration}}, $dom, playControl);
progressNormal(currentTime, duration, $dom, playControl);
}, updateTime*1000);
}
})();