javascript - Javascript - 延迟音频播放
问题描述
当工具提示可见时,我正在播放音频,并且脚本工作正常,但我找不到将播放延迟 2 秒的方法...
$("#notify")[0].play(); 2000
有什么问题?
提前致谢!
if (total > 999 && total < 2999) {
$('#regalo').show();
if (localStorage.getItem('suppress_gift_tooltip_1') == null) {
$('.tooltip').show();
window.setTimeout(function() {
$('.tooltip').fadeOut('slow');
}, 6000);
if (!$("#notify")[0].paused) { //audio
$("#notify")[0].pause(); //audio
$("#notify")[0].currentTime = 0; //audio
} else { //audio
setTimeout(function() { //audio
$("#notify")[0].play();
//audio
}, 2000)
}; //audio
localStorage.setItem('suppress_gift_tooltip_1', 'true')
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<audio id="notify">
<source src="audio/notify.ogg" type="audio/ogg">
<source src="audio/notify.mp3" type="audio/mpeg">
</audio>
解决方案
使用 javascriptsetTimeout
来完成这项工作。你放错了 2000。把它放在函数括号之后(用逗号)。
<script type="text/javascript">
setTimeout(function(){
document.getElementById("notify").play(); /* or $("#notify").play() in jquery*/
//console.log('two second delay!');
}, 2000)
</script>
推荐阅读
- python - Python 导入 - 为什么需要主包名称?
- shell - 在文本文件中找到了多少次字母“N”或其重复(例如:“NNNNN”)?
- r - 如何调整使用 R kableExtra::add_header_above 创建的表中的标签?
- pandas - 通过分配列名来创建一个“选择”变量来指示所采取的选择 - Pandas
- c++ - 为什么可以通过 const 左值引用传递右值?
- django - 如何使用 Django 加速自动完成功能?
- c++ - 为什么删除指向列表的指针会导致核心转储
- sprite-kit - IOS 13 Sprite 工具包问题
- angular6 - 使用 Web API 项目运行 Angular 6 的各种方法
- python - pycharm社区版如何连接mysql?