2011-02-03 99 views
3

我有這樣的代碼,我不知道爲什麼它不工作問題,使用JavaScript

<html> 
<head> 
<title>Test</title> 
<script type="text/javascript"> 
function StopBackgroundMusic() 
{ 
var MusicObj = document.getElementById("BackgroundMusic"); 

MusicObj.data = "http://www.oreillynet.com/examples/oreilly/digitalmedia/2005/02/ableton_intro_0205_gtr.mp3"; 
MusicObj.autoplay = "false"; 
MusicObj.autostart = "false"; 


return MusicObj; 
} 
</script> 
</head> 
<body> 


<OBJECT ID="BackgroundMusic" data="http://www.oreillynet.com/examples/oreilly/digitalmedia/2005/02/ableton_intro_0205_gtr.mp3" TYPE="audio/mpeg" height="0" width="0"> 
<PARAM NAME="autostart" VALUE="true"> 
<PARAM NAME="autoplay" VALUE="true"> 

</OBJECT> 

<form> 


<input type='button' onclick='StopBackgroundMusic()' value='Stop music'/> 

</form> 
</body> 
</html> 
+1

這將有助於大大如果你會更具體的瞭解,而不是僅僅是問題說,這種「不起作用」。 – Pointy 2011-02-03 17:57:28

+1

爲什麼你認爲將`autoplay`和`autostart`屬性添加到OBJECT元素應該有什麼作用? – 2011-02-03 17:58:29

+0

爲什麼要將自動啓動或自動播放切換爲假停止當前的音樂播放? – Phil 2011-02-03 17:59:36

回答

0

不元素「BackgroundMusic」被封裝在表單元素中訪問的getElementById?如果是這樣,請嘗試類似於這樣的事情之一,

document.getElementById("[formID].BackgroundMusic"); 

如果您使用的表單標籤,給它一個id,

<form id="music"> 
3

嘗試設置數據null,而不是重新設置音樂網址。

當你按下停止按鈕另一種方法是刪除對象節點:

function StopBackgroundMusic() 
{ 
    var MusicObj = document.getElementById("BackgroundMusic"); 
    MusicObj.parentNode.removeChild(MusicObj); 
}