Estoy tratando de controlar videos HTML5 usando JQuery. Tengo dos clips en una interfaz con pestañas, hay seis pestañas en total, las otras solo tienen imágenes. Estoy tratando de hacer que los videoclips se reproduzcan cuando se hace clic en su pestaña y luego se detienen cuando se hace clic en cualquiera de los otros.
Esto debe ser algo simple de hacer, pero parece que no puedo hacerlo funcionar, 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 estar expuesto 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
Su solución muestra el problema aquí: el play no es una función jQuery sino una función del elemento DOM. Por lo tanto, debe llamarlo al elemento DOM. Da un ejemplo de cómo hacer esto con las funciones DOM nativas. El equivalente de jQuery, si quisiera hacer esto para encajar con una selección de jQuery existente, sería $('#videoId').get(0).play() . ( get obtiene el elemento DOM nativo de la selección de jQuery).
Tu puedes hacer
$('video').trigger('play'); $('video').trigger('pause');Así es como me las arreglé para que funcione:
jQuery( document ).ready(function($) { $('.myHTMLvideo').click(function() { this.paused ? this.play() : this.pause(); }); });Todas mis etiquetas HTML5 tienen la clase 'myHTMLvideo'