2010-11-27 55 views
0

確定此代碼適用於Firefox,但不適用於IE和Chrome。請幫忙。提前致謝。使用javascript循環播放的Flash動畫

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<script type="text/javascript"> 

var flashNumber = 0; 
var items = 3; 

films = new Array(items) 
films[0] = "movies/animals1.swf"; 
films[1] = "movies/mammyblue2.swf"; 
films[2] = "movies/whitebird1.swf"; 

function rotate(){ 
holder = document.getElementById('content'); 
holderr = document.getElementById('contra'); 
flashNumber++; 
if(flashNumber == items) 
    flashNumber = 0; 
holder.src = films[flashNumber]; 
holderr.value = films[flashNumber]; 
} 
</script> 
</head> 
<body> 
<object width="400" height="300"> 
<param name="movie" value="movies/animals1.swf" id="contra"> 
<embed src = "movies/animals1.swf" name="content" id="content" 
width="400" height="300"> 
</embed> 
</object> 
<input type="button" value="next" onclick="rotate();" /> 
</body> 
</html> 
+0

我已經把按鈕上用onclick調用的旋轉功能。在FF中,它會更改swf剪輯,在Chrome中不會顯示Flash動畫,而在IE中,下一個按鈕什麼也不做。 – George 2010-11-27 20:36:57

+0

這是因爲你沒有改變`param`的值,而且你也錯過了`movies /`目錄。 – stealthyninja 2010-11-27 20:46:04

回答

0

加載flash時無法更改參數。

您可以刪除當前的Flash對象並創建新的,設置它的新電影(用於對象標籤)和src(用於嵌入標籤)。此方法適用於需要顯示未知或受保護的Flash影片(您不是作者)。

使用外部接口在flash和javascript之間進行通信。將新的電影文件名傳遞給Flash並在動作腳本中重新啓動它。當您可以自己更改影片剪輯時,此方法很有用。 更多有關傳遞數據從javascript閃爍:

http://kb2.adobe.com/cps/142/tn_14253.html#main_javascript

http://www.afcomponents.com/forum/viewtopic.php?t=1690

http://www.afcomponents.com/forum/viewtopic.php?t=1426