2012-11-16 233 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

相關問題