Bonjour,
Voici une version qui fait à peu près comme la première vidéo d'apple (j'étais en train de travailler en prévision de ta question
).
A essayer avec la video de l'iphone que j'ai indiqué dans mes premières réponses.
On commence par une video large et immobile. Aux premiers scrolls, on annule leurs effets et on se contente de diminuer la largeur de la vidéo.
Une fois que la taille a assez diminuée (j'ai mis 50% de la largeur de l'écran pour l'instant), la vidéo se déclenche.
La vidéo dure 3 secondes (3000 millisecondes). Durant ces 3 secondes, on attend sans rien faire et on continue d'annuler les effets des scrolls.
Une fois les 3 secondes écoulées, on autorise le scroll, et la vidéo ne redémarre pas si on remonte en haut de page.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body
{
font-size:2em;
}
video
{
width:100vw;
display:block;
margin:0 auto;
}
</style>
<script>
var progression=0,mh=100,t1,t2=3000;
scroll(0,0);
function magic()
{
if(!progression)
{
scroll(0,0);
mh--;
document.getElementById('toto').style.width=mh+"vw";
if(mh<50)
{
progression=1;
document.getElementById('toto').play();
t1=new Date().getTime();
}
}
if(progression==1)
{
scroll(0,0);
if(new Date().getTime()>(t1+t2)) progression=2;
}
}
</script>
</head>
<body onscroll="magic()">
<h1>Vidéo déclenchée au scroll</h1>
<video id="toto" src="apple.mp4" muted playsinline>
</video>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</body>
</html>
Amicalement,