单击按钮,播放声音,但按钮消失

时间:2012-11-16 20:05:30

标签: javascript javascript-events

像我在标题中所说的那样。我希望播放不同的声音但由于某种原因,声音播放后按钮上的文字会消失。按钮仍然有效。我需要按钮保持完整。

另外,单击按钮时是否还没有重新加载页面?

这是我的代码:

的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>

3 个答案:

答案 0 :(得分:1)

我相信按钮会消失,因为您正在用嵌入代码替换它的HTML。您是否尝试过创建不同的元素(例如div)并转而定位该元素?

答案 1 :(得分:1)

您似乎正在替换playSound函数中按钮元素内的HTML内容(请参阅here)。尝试将其嵌入到其他元素中,例如占位符div

如果不重新加载页面,请从false函数

返回playSound()

答案 2 :(得分: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>