@swks

Как можно изменить js код, чтобы захват шел на определенное видео?

var videos = document.getElementsByTagName("#video"),
        fraction = 0.8;
        function checkScroll() {

            for(var i = 0; i < videos.length; i++) {

                var video = videos[i];

                var x = video.offsetLeft, y = video.offsetTop, w = video.offsetWidth, h = video.offsetHeight, r = x + w, //right
                    b = y + h, //bottom
                    visibleX, visibleY, visible;

                    visibleX = Math.max(0, Math.min(w, window.pageXOffset + window.innerWidth - x, r - window.pageXOffset));
                    visibleY = Math.max(0, Math.min(h, window.pageYOffset + window.innerHeight - y, b - window.pageYOffset));

                    visible = visibleX * visibleY / (w * h);

                    if (visible > fraction) {
                        video.play();
                    } else {
                        video.pause();
                    }

            }

        }

        window.addEventListener('scroll', checkScroll, false);
        window.addEventListener('resize', checkScroll, false);
        </script>


есть код, который запускает воспроизведение видео в тот момент когда оно появляется в окне, но в чем проблема, если еще есть видео на страничке то второе уже не работает так как js читает этот тег можно ли поменять код так что бы читало по id="video"
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 2
dima9595
@dima9595
Junior PHP
Так просто поменяйте теги для видео.
Ответ написан
Комментировать
Id может быть только один поэтому использовать нужно классы! Обязательно прочтите про перебор массива each();
А так все работает просто искать нужно по классу.
var videos = document.getElementsByTagName("#video"), // так не будет робить
var videos = document.getElementsByTagName("video"), // а так кстати будет))))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы