2010-04-20 9 views
0

J'essaie donc d'accéder à une variable jquery soundmanager à partir d'un script (wpaudio.js - du plugin wp-audio) à l'intérieur d'un autre (init.js - mon propre javascript). Je crée un autre bouton de pause/lecture plus haut sur la page et j'ai besoin de reprendre le soundID actuel, qui est contenu dans un nom de classe dans le DOM.SoundManager/Jquery: Get SoundID sID

Voici le code qui crée ce nom de classe dans 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'); 

}

Voici la sortie:

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

où wpa0 serait le sid du le son dont j'ai besoin.

Mon script actuel est init.js:

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

Je dois changer resumeAll pour « reprendre (this.sID) », mais je dois stocker en quelque sorte onclick la DGSI et l'appeler au-dessus fonction.

Alternativement, je pense une expression régulière qui pourrait obtenir le nom de la classe du bouton de lecture en cours et soit analyser la chaîne jusqu'à la "_play" ou utiliser une fonction trim pour se débarrasser de "_play" - mais je suis Je ne sais pas comment faire cela.

Merci pour votre aide!

Répondre

0

Ma solution était la suivante. Retiré la chaîne "+ _play" dans les lignes 33, 35 et 54 dans wpaudio.js. Par la suite, l'élément de bouton de lecture pour chaque mp3 a un attribut ID égal à son identifiant soundmanager. Donc, je viens de créer la variable suivante dans mes propres .js:

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

Lorsque vous cliquez sur le mp3, ce stocke le SID dans la variable songsId

Je voudrais encore savoir comment en fait directement récupérer le sID sans une telle solution ...

0

Je pense que ce dont vous avez besoin est .data() méthode qui pourrait stocker des données supplémentaires liées à un élément, de sorte que vous n'avez pas à analyser le nom de la classe, il suffit d'ajouter ce sID à un img.