On gists
Play/Pause video on scroll
JavaScript
on-scroll.js
Raw
#
window.addEventListener("load", videoScroll);
window.addEventListener("scroll", videoScroll);
function videoScroll() {
if (document.querySelectorAll("video[autoplay]").length > 0) {
let windowHeight = window.innerHeight,
videoEl = document.querySelectorAll("video[autoplay]");
for (let i = 0; i < videoEl.length; i++) {
let thisVideoEl = videoEl[i],
videoHeight = thisVideoEl.clientHeight,
videoClientRect = thisVideoEl.getBoundingClientRect().top;
if (videoClientRect <= windowHeight - videoHeight * 0.5 && videoClientRect >= 0 - videoHeight * 0.5) {
thisVideoEl.play();
} else {
thisVideoEl.pause();
}
}
}
}