Search code examples
jqueryhtmlbootstrap-4slider

How to enable auto-slide in bootstrap carousel with 2 images and one video every 10s?


i'm trying to create a slider which is combination of images and videos.

i tried to implement using bootstrap but, i am failing to do so.

here's the code below

<div id="carousel-slider" class="carousel slide carousel-fade" data-ride="carousel">
  <!--Indicators-->
  <ol class="carousel-indicators">
    <li data-target="#carousel-slider" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-slider" data-slide-to="1"></li>
    <li data-target="#carousel-slider" data-slide-to="2"></li>
  </ol>
  <!--Indicators-->
  <!--Slides-->
  <div class="carousel-inner" role="listbox">
    <!--First slide-->
    <div class="carousel-item active">
      <img class="d-block w-100" src="https://mdbootstrap.com/img/Photos/Slides/img%20(130).jpg" alt="First slide">
    </div>
    <!--/First slide-->
    <!--Second slide-->
    <div class="carousel-item">
      <video src="./video/video1.mp4" autoplay poster="./images/boardwalk.jpg"></video>
    </div>
    <!--/Second slide-->
    <!--Third slide-->
    <div class="carousel-item">
      <img class="d-block w-100" src="https://mdbootstrap.com/img/Photos/Slides/img%20(70).jpg" alt="Third slide">
    </div>
    <!--/Third slide-->
  </div>
</div>

I need three slides, with two image slides, and one to be a video slide, that changes every 15s.

Is there any way to add custom slide using jquery


Solution

  • I really like http://kenwheeler.github.io/slick/ for a jquery slider. I think it will help you a lot.

    I've made an example one for you below:

    //Initialize your slider in your script file
    $("#carousel-slider").slick({
        arrows: false,
        infinite: true,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: true,
        autoplaySpeed: 1500,
        mobileFirst: true
    });
    <!-- HTML -->
    <head>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.css" />
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.css" />
    </head>
    
    <div id="carousel-slider">
    <div>
        <img style="width:100%; height:100%;" class="d-block w-100" src="https://mdbootstrap.com/img/Photos/Slides/img%20(130).jpg" alt="First slide">
    </div>
    <div>
        <video style="width:100%; height:100%;" src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" autoplay></video>
    </div>
    <div>
        <img style="width:100%; height:100%;" class="d-block w-100" src="https://mdbootstrap.com/img/Photos/Slides/img%20(70).jpg" alt="Third slide">
    </div>
    </div>
    
    <!-- Calling jQuery -->
     <script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
      <script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    
    <!-- Calling Slick Library -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>

    You can change 'autoplaySpeed' to whatever interval you'd like it to change.