我是网站开发的新手,我正在独立学习。在我的网站中,我将音频嵌套在页面顶部的按钮中。如果用户将音频静音,则其余导航链接将不会播放该音乐。否则,每次用户点击链接时,音频都会在重定向到另一个链接之前播放。
我的HTML代码是这样的:
<a href="javascript:void(0)"><span id="facebook" onclick="playLink(this.id)">facebook</span></a>
我的java代码是这样的:
function playLink(id)
{
if(audio1.muted==true && id=="facebook")
{
window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg";
}
if(audio1.muted==false && id=="facebook")
{
audio1.play();
alert("1");
if(audio1.ended)
window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg;
}
}
问题是在剪辑结束后播放并成功导航背景声音,只有在audio1.play()之后添加警报。否则它会播放声音,但不会导航到链接的页面。我该如何解决?
感谢任何帮助。谢谢!
P.S: a 是bootstrap导航栏的一部分。
答案 0 :(得分:1)
试试这个,使用setTimeout
作为,
if(audio1.muted==false && id=="facebook")
{
audio1.play();
//alert("1");
setTimeout(function(){
if(audio1.ended){
window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg;
}
}, 200);
}