我有一个按钮(带有 ID 继续),设置为显示:无。单击 Vimeo“播放”按钮后,该按钮会延迟 10 秒出现。
是否可以在点击视频中的“暂停”后暂停延迟,从而使计时器停止并通过再次点击“播放”再次启动计时器?
这是我到目前为止所拥有的(另请参阅 fiddle ):
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
player.on('play', function() {
jQuery('#proceed').delay(10000).show(0);
});
</script>
最佳答案
您无法暂停 jQuery .delay()
。但是如果您按时间间隔手动执行操作,则可以:
//prep
let
int,
secs = 10,
elapsed = 0
;
//on play, start/resume interval timer - when we get to 10, show button
player.on('play', () => {
int = setInterval(() => {
elapsed++;
if (elapsed == secs) {
jQuery('#proceed').show();
clearInterval(int);
}
}, 1000);
});
//pause interval timer on pause
player.on('pause', () => {
clearInterval(int);
});
如果您重新启动视频或将播放头移回 0 秒,您可能需要完全重置间隔。
关于javascript - 我们可以在 jQuery 中暂停延迟吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53730430/