2010-04-20 68 views
0

所以我試圖從一個腳本(wpaudio.js - 從wp-audio插件)訪問另一個腳本(init.js - 我自己的javascript)中的jquery soundmanager變量。我在頁面的上方創建了一個備用暫停/播放按鈕,並且需要恢復當前的soundID,它作爲DOM類名稱的一部分包含在內。SoundManager/jquery:獲取SoundID sID

下面是創建在wpaudio.js該類名稱的代碼:

function wpaButtonCheck() { 
if (!this.playState || this.paused) 
    jQuery('#' + this.sID + '_play').attr('src', wpa_url + '/wpa_play.png'); 
else 
    jQuery('#' + this.sID + '_play').attr('src', wpa_url + '/wpa_pause.png'); 

}

這裏是輸出:

<img src="http://24.232.185.173/wordpress/wp-content/plugins/wpaudio-mp3-player/wpa_play.png" class="wpa_play" id="wpa0_play"> 

其中wpa0會的該SID我需要的聲音。

我在init.js當前的腳本是:

$('.mixesSidebar #currentSong .playBtn').toggle(function() { 
     soundManager.pauseAll(); 
     $(this).addClass('paused'); 
    }, function() { 
     soundManager.resumeAll(); 
     $(this).removeClass('paused'); 
    }); 

我需要改變resumeAll爲「恢復(this.sID)」,但我需要以某種方式存儲SID的onclick並調用它上面功能。

或者,我認爲一個正則表達式可以獲得當前播放按鈕的類名稱,並將字符串解析爲「_play」或使用修剪功能來擺脫「_play」 - 但我是不知道如何做到這一點。

感謝您的幫助!

回答

0

我的解決方案如下。在wpaudio.js的第33,35和54行中刪除了字符串「+ _play」。隨後,每個mp3的播放按鈕元素的ID屬性等於其聲音管理者ID。所以我剛纔創建我自己的.js以下變量:

$('.mixPlayCell a').click(function() { 
    var songsId = $(this).find('img').attr('id'); 
}); 

當你點擊MP3,這個存儲SID在變量songsId

我還是想知道如何實際直接檢索沒有這樣的解決方案的sID ...

0

我想你需要的是.data()方法可以存儲一些額外的數據相關的元素,所以你不必解析類名稱,只需將該sID添加到img。