"Carousel Menu"
Bootstrap 4.1.1 Snippet by Ariska138

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <h3 class="text-success">A demo of vertical carousel in BS4</h3> <div class="container"> <div id="bs4-vertical-slide-carousel" class="carousel bs-vertical-slider slide" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="#bs4-vertical-slide-carousel" data-slide-to="0" class="active"></li> <li data-target="#bs4-vertical-slide-carousel" data-slide-to="1"></li> <li data-target="#bs4-vertical-slide-carousel" data-slide-to="2"></li> <li data-target="#bs4-vertical-slide-carousel" data-slide-to="3"></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block mx-auto img-fluid" src="https://www.jquery-az.com/bootstrap4/images/BS-slide-1.jpeg" alt="Slide Number 1"> </div> <div class="carousel-item"> <img class="d-block mx-auto img-fluid" src="https://www.jquery-az.com/bootstrap4/images/BS-slide-4.jpeg" alt="Slide Number 2"> </div> <div class="carousel-item"> <img class="d-block mx-auto img-fluid" src="https://www.jquery-az.com/bootstrap4/images/BS-slide-3.jpeg" alt="Slide Number 3"> </div> <div class="carousel-item"> <img class="d-block mx-auto img-fluid" src="https://www.jquery-az.com/bootstrap4/images/BS-slide-4.jpeg" alt="Slide Number 4"> <!--Captions for the slides go here --> <div class="carousel-caption text-danger d-none d-sm-block"> <h5>Vertical Carousel Demo</h5> <p class="text-light">Slides moving vertically rather default horizontal <button class="btn btn-outline-info btn-lg">More info</button> </p> </div> <!--Captions ending here for slide 3--> </div> </div> </div> <div class="text-center mt-4"> <!-- <button class="btn btn-success" id="btnPrev">Prev</button> <button class="btn btn-danger" id="btnPause">Pause</button> <button class="btn btn-success" id="btnNext">Next</button> --> <button class="carousel-buttons"> <a data-target="#bs4-vertical-slide-carousel" data-slide-to="0" href="#"> <div class="img-circle active center-block"> <img class="carousel-icons-img" src="https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-48.png" /> </div> </a> </button> <button class="carousel-buttons"> <a data-target="#bs4-vertical-slide-carousel" data-slide-to="1" href="#"> <div class="img-circle center-block"> <img class="carousel-icons-img" src="https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-48.png" /> </div> </a> </button> <button class="carousel-buttons"> <a data-target="#bs4-vertical-slide-carousel" data-slide-to="2" href="#"> <div class="img-circle center-block"> <img class="carousel-icons-img" src="https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-48.png" /> </div> </a> </button> <button class="carousel-buttons"> <a data-target="#bs4-vertical-slide-carousel" data-slide-to="3" href="#"> <div class="img-circle center-block"> <img class="carousel-icons-img" src="https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-48.png" /> </div> </a> </button> </div> </div>
.bs-vertical-slider .carousel-item-next.carousel-item-left, .bs-vertical-slider .carousel-item-prev.carousel-item-right { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .bs-vertical-slider .carousel-item-next, .bs-vertical-slider .active.carousel-item-right { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100% 0); } .bs-vertical-slider .carousel-item-prev, .bs-vertical-slider .active.carousel-item-left { -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .item img { width: 100%; } .col-sm-4 { background-color: #ccc; } .img-circle { height: 48px; width: 48px; border-radius: 50%; background-color: #0000ff; box-shadow: inset 1px 1px 1px 1px rgba(0, 0, 0, 0.5); } .img-circle.active { background-color: #ffff99; }
$('#bs4-vertical-slide-carousel').carousel({ interval: 4000 }) $('#btnPrev').on('click', function () { $('#bs4-vertical-slide-carousel').carousel(0); }) $('#btnPause').on('click', function () { $('#bs4-vertical-slide-carousel').carousel('pause'); }) $('#btnNext').on('click', function () { $('#bs4-vertical-slide-carousel').carousel(2); }) $('#bs4-vertical-slide-carousel').on('slid.bs.carousel', function (event) { var nextactiveslide = $(event.relatedTarget).index(); var $btns = $('.carousel-buttons'); var $active = $btns.find("[data-slide-to='" + nextactiveslide + "']"); $btns.find('.img-circle').removeClass('active'); $active.find('.img-circle').addClass('active'); });

Related: See More


Questions / Comments: