2011-04-12 61 views
4

我正在使用jPLayer爲項目播放mp3。他們的mp3將從數據庫動態加載。我正在嘗試創建將選定的mp3加載到播放器的鏈接。目前我有哪些不起作用。我相信我做了一些錯誤的事情,點擊事件告訴你要播放哪些mp3。如果我硬編碼的路徑工作正常,但我不想這樣設置,因爲可能有數百個媒體文件。Jplayer - 創建動態播放列表

 
$(document).ready(function(){ 

    $("#jquery_jplayer_1").jPlayer({ 
     ready: function() { 
      $(this).jPlayer("setMedia", { 
      mp3: "http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3" 
     }).jPlayer("play"); 
     }, 
     ended: function (event) { 
     $(this).jPlayer("play"); 
     }, 
     swfPath: "js", 
     supplied: "mp3" 
    }); 

     $(".song").click(function() { 
     $("#jquery_jplayer_1").jPlayer("setMedia", { 
     mp3: $(this).attr("name").val(); 
     }); 
     $("#jquery_jplayer_1").jPlayer("play"); 
    return false; 
    }); 

}); 


 <a href="#" class="song" name="http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3">Song 3</a> 
     <a href="#" class="song" name="http://www.jplayer.org/audio/mp3/Miaow-04-Lismore.mp3">Song 4</a> 

此代碼的工作,但我想獲得從HREF

 
$(".song").click(function() { 
     $("#jquery_jplayer_1").jPlayer("setMedia", { 
      mp3: "http://www.jplayer.org/audio/mp3/Miaow-04-Lismore.mp3" 
     }); 
     $("#jp_playlist_1 ul").html("
  • Lismore - MP3
  • "); $("#jquery_jplayer_1").jPlayer("play"); return false; });

    回答

    6

    的信息嘗試改變這種$(this).attr("name").val();$(this).attr("name");

    也是一個不錯的想法是:

    <a class="song" href="http://www.jplayer.org/audio/mp3/Miaow-07-Bubble.mp3">Song 3</a> 
    

    然後

    $('.song').click(function(eve){ 
    eve.preventDefault(); 
    ... 
    ... 
    ... 
    
    }); 
    

    當然

    mp3: $(this).attr("href") 
    
    +0

    HMM的試圖使這些變化和其設置爲href和添加的preventDefault但它仍然正常地打開該鏈接。編輯 - 實際上,preventDefault();正在工作,它只是在一般的JavaScript不工作,當我有插入的MP3 – Cvongrim 2011-04-12 19:34:46

    +1

    鬆散的代碼;在$(this).attr('href') – 2011-04-12 20:03:36

    +0

    的末尾。就是這樣。萬分感謝。對此,我真的非常感激。我有一種感覺,我正在做一些小事 – Cvongrim 2011-04-12 20:15:57