2012-11-16 184 views
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> 

回答

1

我相信按钮会消失,因为你与嵌入代码代替它的HTML。您是否尝试过创建不同的元素(例如div)并将其定位到该元素?

1

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

对于未重新加载页面,从playSound()功能

+0

英雄所见略同! – Daniel

+0

如果我这样做,虽然这个新的元素会被点击后消失不是吗?我也把假回报。在函数结束时,页面会重新加载。 – user1509151

1

像其他人返回false纷纷表示要更换的部件。尝试改变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> 
+0

那个元素也消失了:( – user1509151

+0

刚刚更新了试试 –

+0

它还是消失了,有没有更好的方法来编写它? – user1509151

相关问题