2010-11-01 2 views
1

J'ai une pile de vimeos sur une page, je veux les rendre tous muets, car ils joueront simultanément.jQuery - Itérer une commande API sur plusieurs objets mais via un identifiant unique?

Je l'ai fait fonctionner sur un seul vimeo. Comme il a besoin de l'identifiant unique pour chaque vimeo. Mais je ne suis pas intéressé à faire des choses différentes pour les vidéos. Je veux juste leur donner une règle, et évidemment ne pas avoir à l'écrire chaque fois que je télécharge un nouveau vimeo.

var iframe = document.getElementById("player_1"); 
iframe.api("api_setVolume", 50); 

J'ai essayé de créer tous les ID vimeo = player_1, mais cela ne fonctionne pas. Pour une raison quelconque, il n'y a pas getElementByClass dans JS, il devrait y avoir non? Ce serait utile pour des choses comme ça.

Toute aide serait grandement appréciée. Merci.

Voici le testpage

Répondre

1

Depuis c'est marqué jQuery, je Je vais vous donner une solution que devrait travailler pour cela, même si je n'ai pas essayé de jouer avec les classes iframe.

Ajoutez class="vimeo" aux iframes. Itérer à travers eux de ce qui suit:

$(".vimeo").each(function() { 
    this.api("api_setVolume",50); 
}); 

each va parcourir à travers tous les éléments qui sont appariés par le sélecteur (dans ce cas, vimeo).

EDIT

Depuis jQuery ne semble pas aimer jouer avec les iframes, il y a une manière plus programmatique de faire ce qui fonctionne déjà pour vous:

var player_count = 2; 
for (var i = 1; i < player_count+1; i++) { 
    var iframe = document.getElementById("player_" + i); 
    iframe.api("api_setVolume", 50); 
    //put other global rules here... 
} 

L'astuce est maintenant déterminer ce player_count devrait être.

+0

Hmm Je suppose que jQuery n'aime pas les iFrames ... même si je remplace l'appel api par "css (" visibility "," hidden ");" par exemple, ça ne fait rien ... Peut-être qu'il y a un autre moyen? – RGBK

+0

(Vous pouvez voir ce que je veux dire dans le lien d'origine) – RGBK

+0

Vous me battre (re: répondre à ma nouvelle question!) – RGBK

Questions connexes