Вы можете использовать jQuery:
HTML
, добавив идентификатор вашего элемента:
<video id="myvideo" style="max-width: 100%; height: auto;" preload="auto"
autoplay="autoplay" loop="loop" controls="controls" width="450" height="auto">
JS
вызов пауза при прокрутке
$('#myvideo').bind("ended", function(){
$('html, body').animate({
scrollTop: $(".big-div").offset().top
}, 2000);
});
function isInView(el) {
var rect = el.getBoundingClientRect();
return !(rect.top > $(window).height() || rect.bottom < 0); // visible?
}
$(document).on("scroll", function() {
$( "#myvideo" ).each(function() {
if (isInView($(this)[0])) { // visible?
if ($(this)[0].paused) $(this)[0].play(); // play if not playing
}
else {
if (!$(this)[0].paused) $(this)[0].pause(); // pause if not paused
}
});
});
CSS
.big-div{
height:1000px;
background:orange;
}
Не забудьте включить jQuery перед инициализацией функции (в заголовке)
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
посмотрите мой пример: https://plnkr.co/edit/REanzIzi7Pb33UPHLJo9?p=preview
Прокрутите вниз и снова через некоторое время, чтобы увидеть, что видео было приостановлено.