0

そのため、あるスクリプト (wp-audio プラグインの wpaudio.js) から別のスクリプト (init.js - 自分の JavaScript) 内の jquery soundmanager 変数にアクセスしようとしています。ページの上の方に代替の一時停止/再生ボタンを作成しており、DOM のクラス名の一部として含まれている現在の soundID を再開する必要があります。

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)" に変更する必要がありますが、何らかの方法で onclick の sID を保存し、上記の関数で呼び出す必要があります。

または、現在の再生ボタンのクラス名を取得し、「_play」までの文字列を解析するか、トリム関数を使用して「_play」を取り除くことができる正規表現だと思いますが、方法がわかりませんこれを行う。

ご協力いただきありがとうございます!

4

2 に答える 2

0

必要なのは、要素に関連する追加データを格納できる.data()メソッドだと思うので、クラス名を解析する必要はなく、その sID を img に追加するだけです。

于 2010-04-20T17:25:47.523 に答える
0

私の解決策は次のとおりでした。wpaudio.js の 33 行目、35 行目、54 行目の文字列「+_play」を取り出しました。続いて、各 mp3 の再生ボタン要素には、soundmanager id に等しい ID 属性があります。そこで、独自の .js に次の変数を作成しました。

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

mp3 をクリックすると、sID が変数 songId に保存されます

そのような回避策なしで sID を実際に直接取得する方法を知りたいのですが...

于 2010-04-22T03:08:36.910 に答える