我在IE9中的部分JavaScript代码有问题.
当我启动页面时,我收到一个错误:意外调用方法或属性访问.
这是html文件中的音频标签:
<audio controls loop preload id="musicGame">
<source src="mp3/ambient.ogg" type="audio/ogg" />
<source src="mp3/ambient.mp3" type="audio/mpeg" />
</audio>
Run Code Online (Sandbox Code Playgroud)
我在javascript中调用我的音频标签:
musicGame = $('#musicGame')[0];
Run Code Online (Sandbox Code Playgroud)
然后我暂停它,因为我有一个静音按钮,我需要暂停我页面上的所有歌曲,以便静音工作.
musicGame.pause();
Run Code Online (Sandbox Code Playgroud)
这是IE9抛出错误的地方.
什么想法可能是错的?
我用 setTimeout 函数创建了一个循环,它在第 2 步或第 3 步之后出现了问题,因为它自己调用了两次,因为它当时开始执行两次。这是我的函数的样子:
var value = 70,
intervalID = null;
function interval() {
intervalID = setTimeout(countDown, 1000);
}
function countDown() {
value--;
if(value > 0) {
clearTimeout(intervalID);
interval();
} else {
endInterval();
}
}
function endInterval() {
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果我将变量值控制为 69、68,然后在一次函数调用中开始两次减少变量值。我不是在任何地方而是从一个地方调用函数 countDown()。
可能是什么问题呢?
编辑:此代码现在有效。