SoundManager / Jquery: получить sID для SoundID - PullRequest
0 голосов
/ 20 апреля 2010

Поэтому я пытаюсь получить доступ к переменной jquery soundmanager из одного скрипта (wpaudio.js - из плагина wp-audio) внутри другого (init.js - мой собственный javascript). Я создаю альтернативную кнопку паузы / воспроизведения выше на странице, и мне нужно возобновить текущий 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 при нажатии и вызвать его в вышеуказанной функции.

С другой стороны, я думаю, что регулярное выражение может получить имя класса текущей кнопки воспроизведения и либо проанализировать строку до "_play", либо использовать функцию обрезки, чтобы избавиться от "_play" - но я не уверен, как это сделать.

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 22 апреля 2010

Мое решение было следующим. Вытащил строку "+ _play" в строках 33, 35 и 54 в wpaudio.js. Впоследствии элемент кнопки воспроизведения для каждого mp3 имеет атрибут ID, равный его идентификатору SoundManager. Поэтому я просто создал следующую переменную в своем собственном .js:

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

Когда вы нажимаете на mp3, это сохраняет sID в переменной songsId

Я все еще хотел бы знать, как на самом деле напрямую получить sID без такого обходного пути ...

0 голосов
/ 20 апреля 2010

Я думаю, что вам нужен метод .data () , который может хранить некоторые дополнительные данные, относящиеся к элементу, поэтому вам не нужно анализировать имя класса, просто добавьте этот sID в img.

...