我知道问题标题没有多大意义,但我想不出更好的表达方式。我是 jQuery 的新手,我正在使用这段代码淡入<div>
并播放声音:
$(document).ready(function(){
$('#speech').fadeIn('medium', function() {
play('msg_appear');
var sptx = $('<p class="stext">').text('There is nothing here.');
$('#speech').append(sptx);
$('.stext').typeOut({marker: '', delay: 22});
});
});
此代码运行良好,但是在淡入完成后会播放声音。我希望它在淡入时播放,所以我尝试将play()
调用放在淡入函数之外,如下所示:
$(document).ready(function(){
play('msg_appear');
$('#speech').fadeIn('medium', function() {
但是,现在根本不玩了。JavaScript 控制台上没有错误,所以我不确定这是否是语法错误,并且可能很明显,但我不知道是什么。
play()
是我发现播放音频的功能,如果它很重要的话。我把它放在上面代码的同一个文件中;就在$(document).ready()
.
function play(sound) {
if (window.HTMLAudioElement) {
var snd = new Audio('');
if(snd.canPlayType('audio/ogg')) {
snd = new Audio(sound + '.ogg');
}
else if(snd.canPlayType('audio/mp3')) {
snd = new Audio(sound + '.mp3');
}
snd.play();
}
else {
alert('HTML5 Audio is not supported by your browser!');
}
}