2012-02-12 70 views
1

我在我的網站上顯示了幾個視頻,並在視頻所具有的YoutubeID之後生成代碼。到現在爲止,它的工作沒有問題,但與ID 6BD2qnBozvE,我的腳本將無法正常工作。在螢火蟲標識符在數字文字後立即啓動

我的代碼

function onYouTubePlayerReady(playerId) { 

    e3fqE01YYWs = document.getElementById('e3fqE01YYWs'); 
     setTimeout(function(){ 
     e3fqE01YYWs.setVolume(100); 
     e3fqE01YYWs.playVideo(); 
     }, 750); 

    6BD2qnBozvE = document.getElementById('6BD2qnBozvE'); 
     setTimeout(function(){ 
     6BD2qnBozvE.setVolume(53); 
     6BD2qnBozvE.playVideo(); 
     }, 750); 
     } 

錯誤消息

標識符數字文字後立即開始[打破此 錯誤]

6BD2qnBozvE =的document.getElementById( '6BD2qnBozvE');

爲什麼會發生這種情況,我該如何解決?

編輯:傑里米班克斯解釋了爲什麼,但我仍然不知道如何解決我的問題。

這是我生成我的Javascript代碼:

function onYouTubePlayerReady(playerId) { 
<?php 
foreach($projectMusicUn as $music => $volume){ 
?> 
<?php echo $music; ?> = document.getElementById('<?php echo $music; ?>'); 
setTimeout(function(){ 
    <?php echo $music; ?>.setVolume(<?php echo $volume; ?>); 
<?php echo $music; ?>.playVideo(); 
    }, 750); 
<?php 
} //End of foreach($projectMusic as $music) 
?> 
} 

回答

3

你想分配給一個名爲6BD2qnBozvE變量。這是不允許的; JavaScript中的變量名稱(標識符)必須以字母,下劃線或$開頭。

只需將其重命名爲video_6BD2qnBozvE即可。當您處於這種狀態時,您應該在定義之前添加var關鍵字,以免創建全局變量。

var video_6BD2qnBozvE = document.getElementById('6BD2qnBozvE'); 

添加前綴像video_它作爲一個變量在發生源代碼每次:

function onYouTubePlayerReady(playerId) { 
    <?php 
    foreach($projectMusicUn as $music => $volume){ 
     ?> 
     var video_<?php echo $music; ?> = document.getElementById('<?php echo $music; ?>'); 
     setTimeout(function(){ 
      video_<?php echo $music; ?>.setVolume(<?php echo $volume; ?>); 
      video_<?php echo $music; ?>.playVideo(); 
     }, 750); 
     <?php 
    } //End of foreach($projectMusic as $music) 
    ?> 
} 
+0

這也解釋了爲什麼...還是不知道如何解決它,已經用我關於如何生成Javascript的代碼更新了我的問題。 – 2012-02-12 02:07:35

+0

您的更新回答解決了我的問題,非常感謝! – 2012-02-12 02:09:29

相關問題