1

我试图弄清楚如何做到这一点,我希望查看者单击其中一个图像,该图像位于 apDiv 框中,然后在音频完成 3 秒后,将加载下一页。

这是它确实转到下一页的代码,但它不播放声音,如果我删除 setTimeout 函数,声音播放得很好。

我哪里做错了?

$(function(){
$('#apDiv1').click(

function(){$("#laugh")[0].play();},
function(){setTimeout(function(){window.location = 'page1.html';}, 3900); }
)
 });
4

2 回答 2

1

您要编写此代码如下

$(function(){
    $('#apDiv1').click(function(){
        $("#laugh")[0].play();
        setTimeout(function(){window.location = 'page1.html';}, 3900);
    });
});

您可能可以使用此处的代码,以便您可以交换声音而无需更改时间setTimeout

于 2013-04-11T09:29:27.047 回答
0

不要设置可能导致不同问题的超时,而是
使用audio事件监听器ended

LIVE DEMO

$(function(){

    function playOnClick(){          
        var sound = $("#laugh")[0];     
        sound.addEventListener('ended', function() {        
           window.location = 'page1.html';        
        }, false);          
        sound.play();          
   }

   $('#apDiv1').click(function(){
       playOnClick();
   });

});
于 2013-04-11T13:13:34.057 回答