1

タイトルで言った通りです。さまざまなサウンドを再生したいのですが、何らかの理由でサウンドの再生後にボタンのテキストが消えてしまいます。ボタンはまだ動作します。ボタンをそのままにしておく必要があります。

また、ボタンをクリックしたときにページをリロードしないようにする方法はありますか?

これが私のコードです:

JavaScript:

function playSound() {
    var sounds = new Array(
    "battle.mp3"
);

$("button").html("<embed src=\""+sounds[Math.floor(Math.random()*(sounds.length+1))]+"\" hidden=\"true\" autostart=\"true\" />");

HTML

<div id="element">
<button onclick="javascript:playSound()">Try it</button>
</div>
4

3 に答える 3

1

HTMLを埋め込みコードに置き換えているため、ボタンがなくなると思います。代わりに別の要素 (div など) を作成して、代わりにその要素をターゲットにしてみましたか?

于 2012-11-16T20:11:32.333 に答える
1

関数のボタン要素内の HTML コンテンツを置き換えているようplaySoundです (こちらを参照)。placeholder など、他の要素に埋め込んでみてくださいdiv

ページをリロードしないために、関数falseから戻りますplaySound()

于 2012-11-16T20:12:03.703 に答える
1

他の人が言ったように、あなたは要素を交換しています。JavaScript を次のように変更してみてください。

function playSound() {
    var sounds = new Array("battle.mp3");

    $("#soundDiv").html("<embed src=\""+sounds[Math.floor(Math.random()*(sounds.length+1))]+"\" hidden=\"true\" autostart=\"true\" />");

    return false;
}       

そしてhtmlへ:

<div id="element">
    <div id="soundDiv"></div>
    <button onclick="javascript:playSound()">Try it</button>
</div>
于 2012-11-16T20:17:25.627 に答える