Quote Originariamente inviata da dokkalemon Visualizza il messaggio
Ciao ragazzi, sono uno che fa codici per passione e mi sono imbattuto in un problema che sicuramente riuscireste a risolvere a occhi chiusi. Spero in un'Anima Pia che possa darmi una mano.

Praticamente in una pagina ho messo un video avente questo codice HTML:
codice:
<video paused aria-hidden="true" id="myVid" src="video/miovideo.mp4" type="video/mp4">
in Javascript praticamente ho stabilito che il video deve andare in play dopo i 650px con questo codice:

codice:
window.onscroll = function() {scrollFunction()};

function scrollFunction() {

if (document.body.scrollTop > 650  ||  document.documentElement.scrollTop > 650) {
document.getElementById('myVid').play() 
} else {
document.getElementById('myVid').pause()
}
Ora la mia domanda � questa:
Visto considerato che va in play superando sempre i 650 px, ovviamente se torno sopra i 650 px e torno giu di nuovo, il video si mette in play di nuovo. Vorrei evitarlo!
C'è un modo che una volta fatta la funzione, non si ripeta pi�? Posso far in modo che il video venga messo in play solamente una volta?

PS: un modo l'ho anche trovato � quello di togliere l'id al tag <video> ma cos� facendo poi guardando la consolle del browser mi da errore ed � una cosa che non tollero!
Ciao e benvenuto sul forum,
ti invito a leggere il regolamento del forum stesso ed in particolare la sezione di titoli e utilizzo del tag code.

In merito al tuo problema ti basta mettere una variabili di controllo.

codice:
var eseguito = false;

window.onscroll = function() {scrollFunction()};

function scrollFunction() {

if (!eseguito && (document.body.scrollTop > 650  ||  document.documentElement.scrollTop > 650)) {
document.getElementById('myVid').play();
eseguito =  true;
} else {
document.getElementById('myVid').pause()
}