Jquery播放声音并转到下一页

Posted

技术标签:

【中文标题】Jquery播放声音并转到下一页【英文标题】:Jquery play sound and go to next page 【发布时间】:2013-04-11 09:22:26 【问题描述】:

我正在尝试弄清楚如何做到这一点,我希望查看者单击 apDiv 框中的一个图像,然后在音频结束 3 秒后,将加载下一页。

这是进入下一页的代码,但它不播放声音,如果我删除 setTimeout 函数,声音播放就好了。

我哪里做错了?

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

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

【问题讨论】:

抱歉迟到了,我最近看了你的评论,添加了一个很好的例子来实现你所需要的。 【参考方案1】:

你想把这段代码写成如下

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

您可能可以使用代码here,这样您就可以交换声音而无需将时间更改为setTimeout

【讨论】:

为什么不添加addEventListener "ended" 来导航? 那是因为他可能有时想要播放声音而不需要事后重定向用户 @Ejay 你的评论对我来说毫无意义,它是关于播放声音和 --> 导航。 @roXon 没关系 :) 实际上我现在认为我可能误读了您的评论或误解了您试图传达的内容。您能否添加一个描述您喜欢的操作方式的答案。这将是一个贡献:) 我对 Jquery 和 Html 还很陌生,所以大多数时候我都是蛮力强制代码,可能有更简单的方法,但现在对我来说这种方法,因为音频只持续了 3秒。 roXon 你如何使用 addEventlistener ?【参考方案2】:

而不是设置超时,这可能会导致不同的问题, 使用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();
   );

);

【讨论】:

@roXon 你终于做到了。

以上是关于Jquery播放声音并转到下一页的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的按钮不能播放我的声音并转到链接?

进入下一帧/错误时如何停止循环声音

Office2007PPT自动播放

在第一页上单击按钮时播放声音到第二个网页

在链接到下一页之前播放音频的 HTML 链接

如果声音正在播放 jquery