javascript - 猫头鹰旋转木马2 : Lazy load for videos

标签 javascript jquery html owl-carousel-2

我有一个由 Owl carousel v2 提供支持且启用了延迟加载的轮播:

JS:

$('.owl-carousel').owlCarousel({
  lazyLoad: true
});

HTML:

<div class="owl-carousel">
  <div>
   <img class="owl-lazy" data-src="...">
  </div>
</div>

工作正常。然后我尝试将相同的代码应用于我拥有的 HTML5 视频标签:

<div class="owl-carousel">
  <div>
   <video>
     <source class="owl-lazy" data-src="..." type="video/mp4">
   </video>
  </div>
</div>

这不起作用。有什么想法如何为视频启用它吗?

最佳答案

如果有人遇到同样的问题,我提出的解决方案如下:

// Lazy load for videos
var modalSlider = $('.owl-carousel');

modalSlider.on('changed.owl.carousel', function(event) {
  var current = event.item.index;
  var currentVideo = $(event.target).find('.owl-item').eq(current).find('video');
  var currentVideoSource = currentVideo.find('source');

  // Pause all videos
  var videos = modalSlider.find('video');

  if ( videos.length ) {
    videos.each(function() {
      $(this)[0].pause();
    });
  }

  // Play if video found
  if ( currentVideo.length ) {
    var currentVideoSrc = currentVideoSource.attr('data-src');
    currentVideoSource.attr('src', currentVideoSrc);
    currentVideo[0].load();
    currentVideo[0].play();
  }
});

关于javascript - 猫头鹰旋转木马2 : Lazy load for videos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848558/

相关文章:

javascript - 如何将 &lt;input&gt; id 编号放入 var(数学)

javascript - 求代码显示两个公共(public)IP网络摄像头

javascript - 可折叠菜单中根链接的效果/操作处于非事件状态 - 只是效果 - jQuery

javascript - 无法在我的 ASP.NET MVC 应用程序中运行任何 jQuery 插件,原因是什么?

php - json_encode 不再工作

css - 使嵌入行为像一个 div

javascript - 如何将值与 ember 模板中的查找表进行比较

javascript - 更改网格图的颜色 -dojo

javascript - 悬停时将 CSS 应用于多个组件

javascript - 客户端无限滚动 JQuery