Estoy tratando de controlar videos HTML5 usando JQuery. Tengo dos clips en una interfaz con pestañas, hay seis pestañas en total, los otros solo tienen imágenes. Estoy tratando de hacer que los videoclips se reproduzcan cuando se hace clic en su pestaña y luego se detiene cuando se hace clic en cualquiera de los otros.
Esto debe ser algo simple de hacer, pero parece que no puedo hacer que funcione, el código que estoy usando para reproducir el video es:
$('#playMovie1').click(function(){
$('#movie1').play();
});
He leído que el elemento de video debe exponerse en una función para poder controlarlo, pero no puedo encontrar un ejemplo. Puedo hacer que funcione usando JS:
document.getElementById('movie1').play();
Cualquier consejo sería genial. Gracias
fuente
$('video').each(this.play());
para jugar todo;$('video').each(this.pause());
Pausar todo.each()
es una función jQuery, lo que se le pasa es una función de JavaScript, que se aplica a cada elemento. A medida que se maneja cada elemento,this
representa ese elemento..get(0)
con[0]
. Entonces$('video')[0].play();
o para una identificación específica$('#videoId')[0].play();
.Tu puedes hacer
fuente
Así es como logré hacerlo funcionar:
Todas mis etiquetas HTML5 tienen la clase 'myHTMLvideo'
fuente
this.paused ? this.play() : this.pause();
¿Por qué necesitas usar jQuery? Su solución propuesta funciona, y probablemente sea más rápido que construir un objeto jQuery.
fuente
play
un objeto jQuery).movie1
a través$('movie1')
de otras acciones jQuery, entonces está bien; sin embargo, si lo hace solo en este lugar, encontrará alguna pérdida de rendimiento. Puede que no sea lo suficientemente notable, pero me gusta optimizar mucho.Para pausar varios videos, descubrí que esto funciona bien:
Esto se puede poner en una función de clic que es bastante útil.
fuente
Como una extensión de la respuesta de lonesomeday, también puedes usar
Observe que no se llama a la función get () o eq () jQuery. La matriz de DOM utilizada para llamar a la función play (). Es un atajo a tener en cuenta.
fuente
Me gusta este:
Espero eso ayude.
fuente
Uso FancyBox y jQuery para incrustar un video. Dale una identificación.
Quizás la MEJOR solución no podría alternar entre reproducción / pausa de manera diferente, ¡pero es fácil para mí y FUNCIONA! :)
En el
``
fuente
Estos son los métodos fáciles que podemos usar.
en la función de clic del botón jQuery
Gracias
fuente
Solo como nota, asegúrese de verificar si el navegador admite la función de video, antes de intentar invocarlo:
Eso evitará errores de JavaScript en los navegadores que no admiten la etiqueta de video.
fuente
Por JQuery usando selectores
Por Javascript usando ID
O
fuente
utilizar este..
$('#video1').attr({'autoplay':'true'});
fuente
También lo hice funcionar así:
fuente
@loneSomeday lo explicó maravillosamente, aquí una solución que también podría darle una buena idea de cómo lograr la funcionalidad de reproducción / pausa
reproducción / pausa de video al hacer clic
fuente
fuente
fuente
fuente