2010-04-20 66 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。