2015-01-16 29 views
0

我正在嘗試爲現有的jplayer創建一個相冊功能。如何在JQuery中使用JS var(mp3 playlist)

這是工作靜態代碼:

$(document).ready(function(){ 


      new jPlayerPlaylist({ 
       jPlayer: "#jquery_jplayer_1", 
       cssSelectorAncestor: "#jp_container_1" 
      }, [ 
       {title:"01 - Standing (Still)", mp3:"music/Ongesorteerd/01 - Standing (Still).mp3"}, 
       {title:"02 - Standing (Motion)", mp3:"music/Ongesorteerd/02 - Standing (Motion).mp3"}, // tracklist here 
      ]); 

      $("#jplayer_inspector_1").jPlayerInspector({jPlayer:$("#jquery_jplayer_1")}); 

     }); 

現在我想用一個變量來填充播放列表。 我設法創建一個有效的變量,我可以提醒的是JS並檢查是否正確。

我的問題是我該如何替換我的靜態播放列表(JS)變量?

這是我的嘗試:

function player(album, tracklist){ 

      //alert(album+" ## "+tracklist); 

      var array = tracklist.split("+"); 
      var track_count = array.length; 
      var tracks = ""; 
      var i=0; 

      while(i < track_count) 
      { 
       tracks = tracks+'{title:"'+array[i]+'", mp3:"music/'+album+'/'+array[i]+'.mp3"},'; 
       i++; 
      } 


      new jPlayerPlaylist({ 
       jPlayer: "#jquery_jplayer_1", 
       cssSelectorAncestor: "#jp_container_1" 
      }, [ 
       $(tracks) // this is the variable I'm talking about 
      ]); 

      $("#jplayer_inspector_1").jPlayerInspector({jPlayer:$("#jquery_jplayer_1")}); 
     } 

我會得到以下錯誤:

錯誤:語法錯誤,無法識別的表達式是:{title: 「01 - 站立(靜止)」,MP3 :「music/Ongesorteerd/01 - Standing(Still).mp3」},{title:「02 - Standing(Motion)」,mp3:「music/Ongesorteerd/02 - Standing(Motion).mp3」},

回答

0

在原始代碼中,以下代表一個javascript數組文字:

[ 
    {title:"01 - Standing (Still)", mp3:"music/Ongesorteerd/01 - Standing (Still).mp3"}, 
    {title:"02 - Standing (Motion)", mp3:"music/Ongesorteerd/02 - Standing (Motion).mp3"}, // tracklist here 
] 

在您的代碼中,您正在構建一個字符串,而不是數組文字。嘗試像這樣

var tracks = []; 
while(i < track_count) 
{ 
    tracks.push({ 
     title: array[i], 
     mp3: "music/'+album+'/'+array[i]+'.mp3" 
    }); 
    i++; 
} 

new jPlayerPlaylist({ 
     jPlayer: "#jquery_jplayer_1", 
     cssSelectorAncestor: "#jp_container_1" 
}, tracks); 
+0

這是向正確方向邁出的一大步,謝謝!但仍然存在一個問題,播放列表正確顯示,但歌曲無法播放。 我會得到以下錯誤: 類型錯誤:未定義是不是一個函數(計算 '$( 「#jplayer_inspector_1」)jPlayerInspector({jPlayer:$( 「#jquery_jplayer_1」)})') 我會再玩一些。 – user3748138

+0

我發現它,mp3的網址不正確。所有的引號需要相同:mp3:「music /」+ album +「/」+ array [i] +「。mp3」。現在效果很好,再次感謝! – user3748138