Jquery 单击声音按钮<;a>;标记,然后再移动到另一页
我想在页面上的所有标记移动到另一个页面之前,为它们提供单击声音 我可以使用tag轻松播放咔哒声。。但是它不太好用,因为在我听到声音之前,页面已经移动到链接页面 我播放声音的代码如下:Jquery 单击声音按钮<;a>;标记,然后再移动到另一页,jquery,html,audio,Jquery,Html,Audio,我想在页面上的所有标记移动到另一个页面之前,为它们提供单击声音 我可以使用tag轻松播放咔哒声。。但是它不太好用,因为在我听到声音之前,页面已经移动到链接页面 我播放声音的代码如下: <audio id="audio" hidden> <source src="./sound/sound.mp3" type="audio/mpeg"> </audio> $('#menu li a').click(function(e) { e.preventDefault(
<audio id="audio" hidden>
<source src="./sound/sound.mp3" type="audio/mpeg">
</audio>
$('#menu li a').click(function(e) {
e.preventDefault(); // If I use this, it doesn't goes to another page. But I can here the sound. I want to play the sound and the link both.
var sound = $("#audio");
sound.get(0).play();
});
$(“#菜单a”)。单击(函数(e){
e、 preventDefault();//如果我使用这个,它不会转到其他页面。但是我可以在这里播放声音。我想同时播放声音和链接。
var声音=$(“#音频”);
sound.get(0.play();
});
任何小费都将不胜感激。谢谢。试试这个
$('#menu li a').click(function (e) {
e.preventDefault();
var sound = $("#audio");
sound.get(0).play();
setTimeout(function () {
window.location.href = $(this).attr('href');
}, 3000);
});
你需要添加一个延迟,然后仍然转到你想要的页面,你可以这样做
$('#menu li a').click(function(e) {
var destination = $(this).attr('href');
e.preventDefault();
var sound = $("#audio");
sound.get(0).play();
setTimeout(function() { window.location.href = destination; }, 1000);
});
只需设置声音的时间或您希望等待的时间 在控件转到另一页之前,必须停止该页。为此,请使用return false(停止页面)和return true(移动控件)。下面的代码可能很难看,但我认为它会适合你
<script>
function playsound()
{
return false;
var sound = $("#audio");
if(sound.get(0).play())
return true;
}
</script>
函数playsound()
{
返回false;
var声音=$(“#音频”);
if(sound.get(0.play())
返回true;
}
和html格式
<a href="page.html" onclick="return playsound();">element</a>
这是您需要的。。。这将播放音频,一旦音频播放完毕,将转到目标位置 HTML
<audio id="audio" hidden>
<source src="./sound/sound.mp3" type="audio/mpeg">
</audio>
<div id="menu">
<li>
<a href="http://www.google.com">Click to play...</a>
</li>
</div>
代码每秒检查音频的状态,您可以更改超时值以减少检查频率。这将阻止导航我完全忘记了这一点!让我来解决这个问题。这是不是要等到戏结束后才能改变位置?在这种情况下,这将比只等待一个固定的时间,因为我的答案没有我刚刚更新了我的答案,因为Ktash说,我以前的将阻止页面导航。海报想在离开页面前播放一段声音。看看这个,这和你想做的很相似。只是一个旁注,大多数人会觉得这很烦人。天才!很好!非常感谢!
var target;
function checkAudio() {
if($("#audio")[0].paused) {
window.location.href = target;
} else {
setTimeout(checkAudio, 1000);
}
}
$('#menu li a').click(function(e) {
e.preventDefault();
target = $(this).attr('href');
console.log("Let's play");
var sound = $("#audio");
sound.get(0).play();
setTimeout(checkAudio, 1000);
});