【问题标题】:Autoplay a video within slick slider在光滑的滑块内自动播放视频
【发布时间】:2017-04-05 09:49:27
【问题描述】:

我正在使用从http://kenwheeler.github.io/slick/ 下载的平滑滑块

我有一些关于自动播放的图像正确显示,但是,我也有一个无法自动播放的 mp4 文件。这是我的 HTML:

<section class="regular slider" style="width: 900px; left: 60px; top: 230px;">
    <div>        
        <video autoplay>
            <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
        </video>
    </div>
    <div>
      <img src="https://placehold.it/350x300?text=2">
    </div>
    <div>
      <img src="https://placehold.it/350x300?text=3">
    </div>
 </section>

这是我的脚本:

<script type="text/javascript">
    $(document).on('ready', function() {
      $(".regular").slick({
        dots: true,
        infinite: true,
        slidesToShow: 1,
        slidesToScroll: 1,
          autoplay: true,
          autoplaySpeed: 2000
      });
     });
  </script>

【问题讨论】:

标签: html jquery video slick.js autoplay


【解决方案1】:

您可以使用 afterChange 回调函数来实现。

$('.your-element').on('afterChange', function(event, slick, currentSlide, nextSlide){
    $('#video')[0].play(); 
});

【讨论】:

    【解决方案2】:

    我引用@AsafDavid。查看original answer 中的工作代码示例。

    是的,它可以使用 JavaScript 来完成。当视频幻灯片变成 currentSlide你必须:

    1. 暂停滑块
    2. 播放视频

    您可以使用afterChange 事件来做到这一点:

    $('.sliderMain').on('afterChange', function(event, slick, currentSlide){ 
      if (currentSlide == 5) { 
        $('.sliderMain').slick('slickPause'); myVideo.play(); 
      } 
    });
    

    【讨论】:

      【解决方案3】:

      视频需要静音才能自动播放。

      <video autoplay muted>
           <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4">
      </video>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2011-05-19
        • 1970-01-01
        相关资源
        最近更新 更多