2013-10-21 18 views
0

我有我的頁面中顯示的歌曲列表,我無法找到它爲什麼不能在頁面的第一首歌曲上工作。代碼非常簡單,我已經檢查了一切。即使errorAlerts也沒有出現任何錯誤。我在頁面中有20個元素,我已經爲歌曲添加了一個錯誤的路徑,在這種情況下,我顯示了一個錯誤,但我知道當前代碼適用於除第一個元素之外的所有元素,原因不明不觸發「準備:函數(事件)」Jquery Jplayer不會在第一次調用我的頁面中的函數時觸發setMedia函數

下面是代碼:

<?php 

    $count = 1; 
    foreach($all_songs as $songs){ 

?> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 

      $("#jquery_jplayer_<?php echo($count);?>").jPlayer({ 

      ready: function (event) { 

       $(this).jPlayer("setMedia", { 

        m4a:"uploads/audio/<?php echo($songs->audio_filename);?>"//, 

        //mp3:"uploads/audio/<?php //echo($songs->audio_filename);?>", 

        //oga:"uploads/audio/<?php //echo($songs->audio_filename);?>" 
       }); 

      }, 


      play: function() { 
       $(this).jPlayer("pauseOthers"); 
      }, 

      swfPath: "js", 

      supplied: "m4a, mp3, oga", 

      cssSelectorAncestor: "#jp_container_<?php echo($count);?>", 

      wmode: "window", 

      smoothPlayBar: true, 

      errorAlerts: true, 

     keyEnabled: true 

     }); 

    }); 
</script> 
<?php 
     $count++; 
    } 
?> 

非常感謝我的幫助。

亞歷

+0

您是否看到過在螢幕控制檯的任何錯誤日誌?利用'console.log('some message');'爲了調試你的代碼 – manix

+0

是的,我檢查了一切,但沒有發現錯誤。 – Alex

+0

嗯,你有一個php foreach中的JavaScript代碼,這意味着你有多個'jplayer'實例可能會與交互產生衝突。我的建議是創建一個包含所有歌曲的「播放列表」javascript數組,這樣可以避免創建一個foreach循環。 – manix

回答

0

嗯,你有一個PHP的foreach,這意味着你有一個以上的jplayer例如,可以使與交互衝突中的JavaScript代碼。我的建議是創建一個包含所有歌曲的playlist javascript array,通過這種方式可以避免創建一個foreach循環

+0

非常感謝,但我發現我的問題,這是一個糟糕的複製/粘貼在我的頭文件的js .... 但是你的解決方案可以防止此錯誤發生。 – Alex