2016-11-03 2 views
0

J'essaie de mettre en pause/lire différentes vidéos une fois que chacune atteint le centre de la fenêtre d'affichage, puis de les mettre en pause lorsque vous les faites défiler. J'utilise JWPlayer mais j'ai des problèmes pour mettre en pause toutes les autres vidéos sur la page et garder le jeu actuel visible dans la fenêtre d'affichage.Mettre en pause/lire la vidéo lorsque la vidéo est au centre de la fenêtre d'affichage JWPlayer

https://jsfiddle.net/vv7jbrv6/1/

function onScrollVideo() { 
    updateVideo(); 
} 

function updateVideo() { 

    var windowHeight = $(window).height(), 

    gridTop = 200, 
    gridBottom = 1000; 

    $('.jwplayer').each(function() { 
    var thisTop = $(this).offset().top - $(window).scrollTop(), 
    playerID = $(this).prop('id'); 

    if (thisTop > gridTop && (thisTop + $(this).height()) < gridBottom) { 
    jwplayer(playerID).play(); 

    } else { 
    jwplayer(playerID).on('pause'); 

    } 

    }); 

} 
window.addEventListener('scroll', onScrollVideo, false); 
+0

Avez-vous essayé 'jwplayer (playerID) .pause (true)'? – UltrasoundJelly

+0

Voici ma question similaire discutant des différentes façons de lire la vidéo html5 quand dans la fenêtre d'affichage ... mais je pense que votre problème est avec l'API jwplayer. http://stackoverflow.com/questions/21163756/html5-and-javascript-to-play-videos-only-when-visible/40011508#40011508 – UltrasoundJelly

Répondre

0
jwplayer(playerID).pause(true); 

JSfiddle

+0

un succès ici? – UltrasoundJelly

+0

Ils ne semblent pas commencer à jouer à nouveau une fois que vous revenez à eux https://jsfiddle.net/vv7jbrv6/4/ – Bowen

+0

semble que vous n'allez jamais dans votre '$ ('. Jwplayer'). Chaque (fonction () {'boucle. – UltrasoundJelly