Показать сообщение отдельно
  #1 (permalink)  
Старый 18.08.2021, 11:19
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

Воспроизвести видео html 5 при помощи jquery
Есть код:

<div class="owl-item active">
<div class="scrollflow -slide-top s22">
    <div class="video_block video_block3 ani2">
         <video id="video_slays140" width="100%" preload="metadata" class="scrollflow -slide-top -opacity" loop playsinline>
              <source src="https://kulibinstudio.com/image/catalog/video/Mob/video0002.mp4" type="video/mp4;codecs=&quot;avc1.42E01E, mp4a.40.2&quot;">
          </video>         
    </div>
</div>
</div>



let block_show140 = null;
let video140 = $("#video_slays140");
 
$(window).scroll(function(){
  scro_play140();
});

function scro_play140() {
  let wt = $(window).scrollTop();
  let wh = $(window).height();
  let et140 = $('#video_slays140').offset().top;
  let eh140 = $('#video_slays140').outerHeight();
 
  if (wt + wh >= et140 && wt + wh - eh140 * 2 <= et140 + (wh - eh140)){
    if (block_show140 == null || block_show140 == false) {
      video140.pause();
    }
    block_show140 = true;
  } else {
    if (block_show140 == null || block_show140 == true) {
      video140.play();
    }
    block_show140 = false;
  }
}



его суть: при прокрутке к элементу происходит событие. все отлично работает.

проблема: но видео не запускается. консоль гугла пишет: Uncaught TypeError: video140.play is not a function

скрин: http://joxi.ru/52apWXWUgBnqQm

Последний раз редактировалось StartGames, 18.08.2021 в 11:30.
Ответить с цитированием