html audio添加回调,HTML5 audio 双向绑定问题

在拖动进度条的时候,让timeupdate的事件回调先跳过。

this.nativeAudio.addEventListener('timeupdate', () => {

if (this.isUserDraggingProgressBar) return; // 有傻逼在拖进度条,直接return

this.currentTime = this.nativeAudio.currentTime

}

this.progressBar.addEventListener('change', () => {

this.setProgressBarDragging();

this.nativeAudio.currentTime = this.progressBar.value

});

this.setProgressBarDragging = function(){

clearTimeout(this._progressBarDraggingTimer);

this._progressBarDraggingTimer = setTimeout(() => {

// debounce的效果,频繁触发setProgressBarDragging,

// 会抑制它变成false, 直到不再触发

this.isUserDraggingProgressBar = false;

}, 500);

this.isUserDraggingProgressBar = true;

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值