由于某种原因,我的函数中的setTimeOut
变量不起作用。我尝试了几种不同的策略,但都没有奏效。基本上,我试图设置音频播放之前的延迟。以下是我的JS和HTML代码。
function song(musicfile) {
$('#result').html("<audio autoplay=\"true\"><source src=" + musicfile + " type=\"audio/mpeg\" /></audio>");
setTimeout(song, 10000);
}
<img class="playbutton1 center-block" src="play.png" onclick="song('pretender.m4a');">
最佳答案
当然没有延迟。有人单击图像,您立即注入(inject)<audio>
元素,然后设置延迟。
您需要的是setTimeout(function_that_injects_the_element, 10000)
。
function song(musicfile) {
setTimeout(function() {
$('#result').html("<audio autoplay=\"true\"><source src=" + musicfile + " type=\"audio/mpeg\" /></audio>");
}, 10000);
}
我可能还建议删除所有现有的音频元素,或者如果可能的话至少停止它们。