document.querySelector('.modal').addEventListener('scroll', function() {
document.querySelectorAll('.video_wrap video').forEach(function(video) {
const videoHeight = video.clientHeight; //비디오 높이
const videoTop = video.getBoundingClientRect().top - videoHeight;
if (videoTop < 0 && videoTop > -(videoHeight + videoHeight / 2)) { // 여유사이즈 동영상 높이의 절반
video.play();
} else {
video.pause();
}
});
});
const videoTop = video.getBoundingClientRect().top - videoHeight;
getBoundingClientRect().top => 화면 상단으로부터의 비디오 거리이고
비디오가 화면 상단까지 안오고 하단에 걸쳐도 재생되어야하니까 높이값 빼줌.
그냥 스크롤 내리면 순서대로만 재생이 될까 하다가 화면에서 사라지면 동영상 재생이 멈추는게 나은 것 같았다.
화면에 절반은 걸쳐있을때까지는 재생되는 걸로 바꿔서 -( videoHeight + videoHeight/ 2) 를 추가했다.
'언어 > JavaScript' 카테고리의 다른 글
[Swiper] 스와이퍼 여러 개를 설정해보자 multiple swiper (0) | 2024.07.03 |
---|---|
[input range] 커스텀 (0) | 2024.06.25 |
input range 커스텀 (0) | 2024.06.24 |
[자바스크립트 딥다이브] 8장 제어문 (0) | 2024.04.02 |
[자바스크립트 딥다이브] 7장 연산자 (0) | 2024.04.01 |