0

所以我试图从另一个脚本(init.js——我自己的javascript)中的一个脚本(wpaudio.js——来自wp-audio插件)访问一个jquery soundmanager变量。我正在页面上方创建一个备用暂停/播放按钮,并且需要恢复当前的 soundID,它包含在 DOM 中作为类名的一部分。

以下是在 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 更改为“resume(this.sID)”,但我需要以某种方式存储 sID onclick 并在上述函数中调用它。

或者,我认为一个正则表达式可以获取当前播放按钮的类名,并将字符串解析为“_play”或使用修剪函数来摆脱“_play”——但我不知道如何做这个。

谢谢你的帮助!

4

2 回答 2

0

我认为您需要的是.data()方法,该方法可以存储一些与元素相关的额​​外数据,因此您不必解析类名,只需将该 sID 添加到 img 即可。

于 2010-04-20T17:25:47.523 回答
0

我的解决方案如下。取出 wpaudio.js 中第 33、35 和 54 行的字符串“+_play”。随后,每个 mp3 的播放按钮元素都有一个 ID 属性,该属性等于它的声音管理器 ID。所以我只是在自己的 .js 中创建了以下变量:

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

当您单击 mp3 时,这会将 sID 存储在变量 songId 中

我仍然想知道如何在没有这种解决方法的情况下实际直接检索 sID ...

于 2010-04-22T03:08:36.910 回答