jquery - 別のページに移動する前に、タグのサウンドをクリックします
質問する
1516 次
4 に答える
1
これを試して。
$('#menu li a').click(function (e) {
e.preventDefault();
var sound = $("#audio");
sound.get(0).play();
setTimeout(function () {
window.location.href = $(this).attr('href');
}, 3000);
});
于 2013-02-21T17:00:49.307 に答える
1
必要なものは次のとおりです...これによりオーディオが再生され、オーディオの再生が終了すると、ターゲットの場所に移動します...
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>
jQuery
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);
});
コードは毎秒オーディオの状態をチェックします。タイムアウトの値を変更して、チェックの頻度を減らすことができます。
于 2013-02-21T17:31:36.553 に答える
0
コントロールが他のページに移動する前に、ページを停止する必要があります。そのためには、falseを返し(ページを停止するため)、trueを返します(コントロールをシフトするため)。以下のコードは醜いかもしれませんが、私はそれがあなたのために働くと思います
<script>
function playsound()
{
return false;
var sound = $("#audio");
if(sound.get(0).play())
return true;
}
</script>
とhtmlで
<a href="page.html" onclick="return playsound();">element</a>
于 2013-02-21T17:11:34.503 に答える
0
遅延を追加して、このように実行したいページに移動する必要があります。
$('#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);
});
音の時間や待ちたい時間を設定するだけです。
于 2013-02-21T17:03:43.387 に答える