2010-10-09 48 views
0

我想用jQuery製作超級簡單的音頻播放器。超級簡單的音頻播放器與Flash + jQuery

你會如何轉換此

<a href="song.mp3">Song</a> 

這樣做呢?

<object type="application/x-shockwave-flash" data="dewplayer.swf" > 
     <param name="flashvars" value="mp3=blank.mp3" /> 
    </object> 

    <a href="song.mp3">Download</a> 

那麼需要按照我的理解

  • 鏈接的名稱更改爲下載
  • Flash對象代碼的鏈接前粘貼的情況發生,
  • MP3的網址被存儲,
  • 每個各自的mp3 url被插入到每個相關的value =「mp3 = ____

這利用一個簡單的閃存音樂播放器,Dewplayer

有什麼想法?

回答

2

像這樣(未經測試):

// on document ready, 
$(function() 
{ 
    var objTagOpen = '<object type="application/x-shockwave-flash"' 
        + ' data="dewplayer.swf">' 
        + '<param name="flashvars" value="mp3=', 
     objTagClose = '" /> </object>'; 

    // find all the links whose href ends with '.mp3', 
    // and for each one, 
    $('a[href$=.mp3]').each(function() 
    { 
     var $this = $(this); 

     // insert the flash <object> with the flashvars parameter 
     $this.before(objTagOpen + $this.attr('href') + objTagClose); 

     // then rewrite the link itself 
     $this.text('Download'); 
    }); 
}); 

超級簡單確實如此。


編輯:佩卡的絕對正確使用rel,讓你有正常的MP3鏈接,以及。在這種情況下,所有你需要做的是重寫您最初的選擇,從

$('a[href$=.mp3]') 

$('a[href$=.mp3][rel=mp3]') 
使用`rel`屬性,像這樣
+0

哇!非常感謝。有時候jQuery可能非常龐大而且無形,我很難理解它。任何關於如何學習jQuery的建議? – 2010-10-11 14:14:09

+0

我試過這段代碼,它完美地工作。所以讓我確定我知道發生了什麼事。我不熟悉objTagOpen和Close。再次感謝。 – 2010-10-11 14:24:13

+0

@amulek:幾乎和我學習任何東西一樣。 **使用它/做它/嘗試很多。**練習和重複是學習的核心。當你碰到一些你無法想象的東西時,問問其他人(如SO!)。至於jQuery的廣泛性:如果你只關注核心(例如不是jQuery UI或任何插件),那真的不是那麼糟糕。只需要擔心爲了編寫特定的代碼或函數而需要使用的jQuery的零碎部分。 **小叮咬** – 2010-10-11 14:24:49