如何在JavaScript中创建一个等待函数,允许您在后台运行音频等内容
How do you create a wait function in JavaScript that allows you to run things in the background like audio?
我将其创建为一个简单的等待脚本,但它最多只能将整个脚本冻结时间秒。
function wait(time)
{
var x = 0;
var y = time * 500000000;
while (x<y)
{
x++
}
}
我需要的是一个可以延迟脚本的代码,这样我就可以播放声音,因为我的脚本循环并有大量的警报,所以在脚本结束之前不会播放声音。
这是我用来播放声音的脚本:
<div id="dummy"></div>
<script type="text/javascript">
function playSound(sound)
{
if (sound==1)
{
document.getElementById("dummy").innerHTML = '<embed type="audio/mp3" src="http://www.myinstants.com/media/sounds/sound-8.mp3" autoplay="true" hidden="true" width="0" height="0" loop="false">';
}
}
</script>
是的,我在另一个脚本中调用了playSound(1)。
如果不完全冻结UI,就无法在Javascript中创建阻止(即强制调用方等待它完成)的函数。
将setTimeout
、回调以及可能的Promises视为异步执行这些操作的方法。
- https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers.setTimeout
- http://www.html5rocks.com/en/tutorials/es6/promises/
如果我说得对,我相信您会使用setTimeout方法。你可以在这里阅读更多关于它的内容,你会发现一些例子。
这里有一些短
<script>
function myFunction() {
setTimeout(playSound, 1000, sound);
}
and call it wherever you need
</script>
相关文章:
- Ember 1.10-升级错误-模板必须是一个函数.您是想调用Ember.Handlebars.compile(“..”
- 为什么调试器会给你“;undefined不是函数“;而不是只告诉您不是函数的属性/变量的名称
- 如何在JavaScript中创建一个等待函数,允许您在后台运行音频等内容
- 在OPP JS中,您可以从构造函数访问原型函数内部声明的方法
- 您将使用什么参数来调用此函数以获取指定的输出
- 如何将您在函数中调用的内容更改为数组
- 当调用“this”的函数位于子对象的对象内时,您将如何引用“this”
- 当您有集合时,调用接收单个对象作为参数的函数的最佳方法是什么
- 您将如何向初学者解释Javascript中的回调函数
- 您可以使用jquery在一个下拉列表中获取所选值,而在另一个下拉列表的javascript函数中
- 当您将另一个方法作为属性添加到Javascript中的函数时会发生什么
- MeteorJS-click.increment函数不起作用(您的第一个Meteor应用程序)
- 在一个示例场景中,您会'需要'原型函数与内部函数
- 您可以定义一个函数,在单击C#代码中定义的超链接时更改C#属性吗
- 在什么情况下,您会使用一个返回另一个函数(Javascript)的函数
- 编写一个JavaScript函数,返回一个包含您姓名的字符串
- Node.js:您将如何重新创建'setTimeout'函数,而不会阻塞事件循环
- 给定子域中的cookie,您可以编写一个返回代理服务器主机名的javascript函数吗
- 当您使用JavaScript函数作为类时,它们是否仍然以自上而下的方式进行解析
- 当您从函数返回JavaScript语句时会发生什么,例如return console.log(“Hello”)