Comunidad PHPeros
Lenguajes => JavaScript => Mensaje iniciado por: Focux en 07 de Agosto de 2013, 06:49:09 am
-
Sucede que estoy editando la forma en que se manejan los videos en html5 con jQuery para un proyecto que tengo, lo que pasa es que ya tengo toda la mecanica terminada, no es la gran cosa, son varios divs sobrepuesto en el video y que el video se pare y se pause con un click y que al terminar el video se coloque algo.
Hasta ahora todo bien, todo funciona bien cuando trabajo con un solo video; pero ahora sucede lo siguiente, el problema es que yo accedo al video mediante una clase, sucede que ahora al yo poner mas de un video en la pagina y tratar de controlarlo cuando intento darle play a un video, en vez de darle play al video que le di, se le da play a otros que hay en la pagina.. Y esta sera una pagina en la que habran muchos videos y hacer un bucle para cambiar la class de cada video no lo veo conveniente ademas de la lentitud, tampoco quiero agregar los eventos directos en el tag (osea onclick, onended y eso).
Alguien conoce algun otro metodo diferentes a los seleccionados anteriormente con en el que yo pueda controlar muchos videos con la misma clase, que al hacer click en el video que tengo solo se le de play a ese y no a ningun otro.
-
le deberías poner un data-id a cada vídeo y en la función play y stop, ponerle que solo le de play y stop a cierto vídeo que lo referencias con el data-id.
Saludos
-
Es una web en la que habran muchos videos en una misma pagina asi que ponerle un data-id a cada video de manera automatica seria obligado con un bucle, y un bucle realentiza la pagina.
-
Es una web en la que habran muchos videos en una misma pagina asi que ponerle un data-id a cada video de manera automatica seria obligado con un bucle, y un bucle realentiza la pagina.
No, que el data-id sea igual a la id del vídeo o al nombre o generas en la db al momento de poner el vídeo un data-id fíjate tu no es necesario un bucle.
-
Tal vez jugando con .parent() y demás. Por ejemplo, si tienes algo del tipo
<div>
<video>
<span>Play</span>
</div>
Podrías hacer algo como
$('span').siblings('video')[0].play();
-
Puedes usar la palabra clave 'this' para que sólo trabaje con el elemento seleccionado.
ejemplo
$('video').click(function()
{
$(this).attr()
});
-
Ya lo solucione usando la funcion next, gracias de todas maneras.