2013-11-23 43 views
0

我試圖用Soundcloud的軌道元數據填充播放列表,使用Soundmanager 2sc-player。我不是很有經驗的JavaScript,因此這被證明是一個有點棘手...如何在這種情況下使用Javascript生成充滿數據的錶行?

下面的代碼來生成與所有曲目在其中的人的名單:

scplayer.on("scplayer.init", function(e, track, sound) { 
    var $pl = $("#playlist"); 
    $pl.empty(); 
    // 
    var playlist = scplayer.playlist(); 
    for (var x = 0, l = playlist.length; x < l; x++){ 
     var $li = $("<li>", {"html": "Loading.."}).data('index', x).appendTo($pl); 
     (function (x, $li) { 
      //lookup the track info 
      scplayer.track_info(x).done(function (track) { 
       //console.log(track); 
       $li.html(track.title); 

      }); 
     })(x, $li);   
    } 

    $("#playlist").find('li:first').addClass('active'); 
}); 

這一個良好的開端,但我也想添加在每個歌曲以下在錶行的播放列表作爲表格單元格(認爲iTunes的):

1. $li.html(track.title); 
2. $li.html(track.duration); 
3. $li.html(track.description); 
4. $li.html(track.playback_count); 
5. $li.html(track.favoritings_count); 
6. $li.html(track.release_year); 

這些對自己所有的工作,但我剛剛拿到了不知道如何循環訪問數據並生成表格行...

回答

0

我仍然在學習JavaScript,但我會考慮在for循環中創建一個數組,以便您可以捕獲所有數據,同時只需遍歷播放列表一次。然後,您可以使用.push()方法將該數組添加到嵌套數組中。所以你最終會得到一個陣列數組,每個單獨的陣列都包含一首特定歌曲的所有數據。那有意義嗎?

我還沒有足夠快的代碼,我在JSFiddle中想到了什麼,但是一旦拿到併發布到這裏,我就會回來。