Estou tentando controlar vídeos HTML5 usando JQuery. Eu tenho dois clipes em uma interface com guias, existem seis guias no total, os outros apenas têm imagens. Estou tentando reproduzir os videoclipes quando sua guia é clicada e depois parar quando qualquer uma das outras é clicada.
Isso deve ser uma coisa simples de fazer, mas não consigo fazê-lo funcionar, o código que estou usando para reproduzir o vídeo é:
$('#playMovie1').click(function(){
$('#movie1').play();
});
Eu li que o elemento video precisa ser exposto em uma função para poder controlá-lo, mas não consegue encontrar um exemplo. Eu sou capaz de fazê-lo funcionar usando JS:
document.getElementById('movie1').play();
Qualquer conselho seria ótimo. obrigado
fonte
$('video').each(this.play());
para reproduzir tudo;$('video').each(this.pause());
pausar tudo.each()
é uma função jQuery, o que é passado para ela é uma função javascript, aplicada a cada elemento. À medida que cada elemento é tratado,this
representa esse elemento..get(0)
por[0]
. Então,$('video')[0].play();
ou para um ID específico$('#videoId')[0].play();
.Foi assim que consegui fazê-lo funcionar:
Todas as minhas tags HTML5 têm a classe 'myHTMLvideo'
fonte
this.paused ? this.play() : this.pause();
Você pode fazer
fonte
Por que você precisa usar o jQuery? Sua solução proposta funciona e provavelmente é mais rápido do que construir um objeto jQuery.
fonte
play
um objeto jQuery).movie1
através$('movie1')
de outras ações jQuery, então é bom; no entanto, se você estiver fazendo isso apenas neste local, encontrará uma perda de desempenho. Pode não ser perceptível o suficiente, mas eu gosto de otimizar muito.Para pausar vários vídeos, descobri que isso funciona muito bem:
Isso pode ser colocado em uma função de clique, o que é bastante útil.
fonte
Como uma extensão da resposta do dia solitário, você também pode usar
Observe que não há nenhuma função jQuery get () ou eq () chamada. A matriz do DOM usada para chamar a função play (). É um atalho para se ter em mente.
fonte
Eu gosto deste:
Espero que ajude.
fonte
Eu uso o FancyBox e o jQuery para incorporar um vídeo. Dê um ID.
Talvez a melhor solução não seja alternar entre reproduzir / pausar de maneira diferente - mas é fácil para mim e FUNCIONA! :)
No
`
fonte
Este é o método fácil que podemos usar
no botão jquery, clique na função
obrigado
fonte
Apenas como uma nota, verifique se o navegador suporta a função de vídeo antes de tentar invocá-la:
Isso evitará erros de JavaScript em navegadores que não suportam a tag de vídeo.
fonte
Por JQuery usando seletores
Por Javascript usando ID
OU
fonte
usa isto..
$('#video1').attr({'autoplay':'true'});
fonte
Eu também fiz funcionar assim:
fonte
O @loneSomeday explicou lindamente, aqui uma solução que também pode lhe dar uma boa idéia de como obter a funcionalidade de reprodução / pausa
reproduzir / pausar vídeo ao clicar
fonte
fonte
fonte
fonte