2013-10-03 11 views
9

Ho una pagina con molti video e desidero riprodurre ogni video su mouseOver e mettere in pausa su mouseOut.Come posso riprodurre/mettere in pausa più di un video con il mouseover

Funziona con video1, ma voglio lavorare con video2 e così via.

<!DOCTYPE html> 
<html> 
<body> 

<div style="text-align:center"> 
    <video id="video1" width="420" onmouseover="playPause()" onmouseout="playPause()"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
    <video id="video2" width="420" onmouseover="playPause()" onmouseout="playPause()"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
</div> 

<script> 
var myVideo=document.getElementById("video1"); 

function playPause() 
{ 
if (myVideo.paused) 
    myVideo.play(); 
else 
    myVideo.pause(); 
} 
</script> 

</body> 
</html> 

risposta

8

Sulla base della risposta di Etienne Miret un'implementazione minimale non ha bisogno di una specifica funzione a tutti.

semplicemente impostando onmouseover="this.play()" e onmouseout="this.pause()" dovrebbe fare il trucco:

<div style="text-align:center"> 
    <video id="video1" width="420" onmouseover="this.play()" onmouseout="this.pause()"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
    <video id="video2" width="420" onmouseover="this.play()" onmouseout="this.pause()"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
</div> 
2

È necessario passare un riferimento al video che si desidera riprodurre/mettere in pausa. f.ex:

<div style="text-align:center"> 
    <video id="video1" width="420" onmouseover="playPause('video1')" onmouseout="playPause('video1')"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
    <video id="video2" width="420" onmouseover="playPause('video2')" onmouseout="playPause('video2')"> 
    <source src="mov_bbb.mp4" type="video/mp4"> 
    <source src="mov_bbb.ogg" type="video/ogg"> 
    Your browser does not support HTML5 video. 
    </video> 
</div> 

<script> 

function playPause(videoID) 
{ 
var myVideo=document.getElementById(videoID); 

if (myVideo.paused) 
    myVideo.play(); 
else 
    myVideo.pause(); 
} 
</script> 
+0

Grazie, è funziona bene, ma la soluzione con "questa" parola chiave è meglio per me. – Eyesis

+0

@Eyesis Questa è una soluzione più dinamica. – mariusnn

5

Utilizzare la parola chiave this:

onmouseover="playPause(this)" 

e in Javascript:

function playPause(video) { 
    if (video.paused) { 
     video.play(); 
    } else { 
     video.pause(); 
    } 
} 
+0

+1 bello e dinamico. – Subby

+0

Grazie! Accetterò il prima possibile :) – Eyesis

+0

Basato su questo; usando 'onmouseover =" this.play() "' e 'onmouseout =" this.pause() "' dovrebbe avere lo stesso effetto? – mariusnn

Problemi correlati