Korsel bootstrap beberapa bingkai sekaligus

110

Ini adalah efek yang saya coba capai dengan carousel Bootstrap 3

masukkan deskripsi gambar di sini

Alih-alih hanya menampilkan satu frame pada satu waktu, ini akan menampilkan N frame slide by side. Kemudian saat Anda menggeser (atau saat bergeser otomatis), itu menggeser grup slide seperti yang dilakukannya.

Bisakah ini dilakukan dengan carousel bootstrap 3? Saya berharap saya tidak perlu lagi berburu plugin jQuery lainnya ...

rodrigo-silveira
sumber
Maaf sudah mengadaptasi Bootstrap 4 tetapi mudah untuk diubah stackoverflow.com/a/42098033/4796923
Oleg V Karun
Ada solusi baru untuk masalah ini dengan menggunakan Ken Wheeler Slick Carousel yang lebih mudah diterapkan dan lebih elegan daripada yang ini. Silakan lihat jawaban @joshmoto dengan kode lengkap di sini> stackoverflow.com/a/54263516/345605
ganar

Jawaban:

20

Bisakah ini dilakukan dengan carousel bootstrap 3? Saya berharap saya tidak perlu mencari plugin jQuery lainnya

Pada 2013-12-08 jawabannya tidak. Efek yang Anda cari tidak dimungkinkan menggunakan plugin carousel umum Bootstrap 3. Namun, inilah plugin jQuery sederhana yang tampaknya melakukan apa yang Anda inginkan http://sorgalla.com/jcarousel/

Ronald
sumber
148

Diperbarui 2019 ...

Bootstrap 4

Korsel telah berubah di 4.x, dan transisi animasi multi-slide dapat diganti seperti ini ...

.carousel-inner .carousel-item-right.active,
.carousel-inner .carousel-item-next {
  transform: translateX(33.33%);
}

.carousel-inner .carousel-item-left.active, 
.carousel-inner .carousel-item-prev {
  transform: translateX(-33.33%)
}

.carousel-inner .carousel-item-right,
.carousel-inner .carousel-item-left{ 
  transform: translateX(0);
}

Bootstrap 4 Alpha.6 Demo
Bootstrap 4.0.0 (tampilkan 4, maju 1 sekaligus)
Bootstrap 4.1.0 (tampilkan 3, maju 1 sekaligus)
Bootstrap 4.1.0 (maju semua 4 sekaligus)
Bootstrap 4.3.1 responsif (tunjukkan beberapa, maju 1) new
Bootstrap 4.3.1 carousel dengan kartunew


Pilihan lainnya adalah carousel responsif yang hanya menampilkan dan memajukan 1 slide di layar yang lebih kecil , tetapi menampilkan beberapa slide di layar yang lebih besar . Alih-alih mengkloning slide seperti contoh sebelumnya, yang ini menyesuaikan CSS dan menggunakan jQuery hanya untuk memindahkan slide ekstra untuk memungkinkan perputaran terus menerus (membungkus):

Harap jangan hanya menyalin dan menempelkan kode ini. Pertama, pahami cara kerjanya.

Bootstrap 4 Responsif (tampilkan 3, 1 slide di ponsel)

@media (min-width: 768px) {

    /* show 3 items */
    .carousel-inner .active,
    .carousel-inner .active + .carousel-item,
    .carousel-inner .active + .carousel-item + .carousel-item {
        display: block;
    }

    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item,
    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
        transition: none;
    }

    .carousel-inner .carousel-item-next,
    .carousel-inner .carousel-item-prev {
      position: relative;
      transform: translate3d(0, 0, 0);
    }

    .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -33.3333%;
        z-index: -1;
        display: block;
        visibility: visible;
    }

    /* left or forward direction */
    .active.carousel-item-left + .carousel-item-next.carousel-item-left,
    .carousel-item-next.carousel-item-left + .carousel-item,
    .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item,
    .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    /* farthest right hidden item must be abso position for animations */
    .carousel-inner .carousel-item-prev.carousel-item-right {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        visibility: visible;
    }

    /* right or prev direction */
    .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
    .carousel-item-prev.carousel-item-right + .carousel-item,
    .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item,
    .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }

}

<div class="container-fluid">
    <div id="carouselExample" class="carousel slide" data-ride="carousel" data-interval="9000">
        <div class="carousel-inner row w-100 mx-auto" role="listbox">
            <div class="carousel-item col-md-4 active">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400/000/fff?text=1" alt="slide 1">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=2" alt="slide 2">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=3" alt="slide 3">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=4" alt="slide 4">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=5" alt="slide 5">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=6" alt="slide 6">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=7" alt="slide 7">
            </div>
            <div class="carousel-item col-md-4">
                <img class="img-fluid mx-auto d-block" src="//placehold.it/600x400?text=8" alt="slide 7">
            </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExample" role="button" data-slide="prev">
            <i class="fa fa-chevron-left fa-lg text-muted"></i>
            <span class="sr-only">Previous</span>
        </a>
        <a class="carousel-control-next text-faded" href="#carouselExample" role="button" data-slide="next">
            <i class="fa fa-chevron-right fa-lg text-muted"></i>
            <span class="sr-only">Next</span>
        </a>
    </div>
</div>

Contoh - Bootstrap 4 Responsif (tampilkan 4, 1 slide di ponsel)
Contoh - Bootstrap 4 Responsif (tampilkan 5, 1 slide di ponsel)


Bootstrap 3

Berikut adalah contoh 3.x di Bootply: http://bootply.com/89193

Anda perlu menempatkan seluruh baris gambar di item aktif. Berikut adalah versi lain yang tidak menumpuk gambar pada lebar layar yang lebih kecil: http://bootply.com/92514

EDIT Pendekatan alternatif untuk memajukan satu slide pada satu waktu :

Gunakan jQuery untuk mengkloning item berikutnya ..

$('.carousel .item').each(function(){
  var next = $(this).next();
  if (!next.length) {
    next = $(this).siblings(':first');
  }
  next.children(':first-child').clone().appendTo($(this));

  if (next.next().length>0) {
    next.next().children(':first-child').clone().appendTo($(this));
  }
  else {
    $(this).siblings(':first').children(':first-child').clone().appendTo($(this));
  }
});

Dan kemudian CSS ke posisi yang sesuai ...

Sebelum 3.3.1

.carousel-inner .active.left { left: -33%; }
.carousel-inner .next        { left:  33%; }

Setelah 3.3.1

.carousel-inner .item.left.active {
  transform: translateX(-33%);
}
.carousel-inner .item.right.active {
  transform: translateX(33%);
}

.carousel-inner .item.next {
  transform: translateX(33%)
}
.carousel-inner .item.prev {
  transform: translateX(-33%)
}

.carousel-inner .item.right,
.carousel-inner .item.left { 
  transform: translateX(0);
}

Ini akan menampilkan 3 sekaligus, tetapi hanya geser satu per satu:

Bootstrap 3.x Demo


Harap jangan salin dan tempel kode ini. Pertama, pahami cara kerjanya. Jawaban ini di sini untuk membantu Anda belajar .

Menggandakan carousel bootstrap 4 yang dimodifikasi ini hanya berfungsi setengah dengan benar (scroll loop berhenti berfungsi)
Bagaimana membuat 2 slider bootstrap dalam satu halaman tanpa mencampur css dan jquery mereka?
Bootstrap 4 Multi Carousel menampilkan 4 gambar, bukan 3

Zim
sumber
6
Terima kasih. Itu memang terlihat jauh lebih baik ... tapi terasa agak aneh. menggulir ke kiri tampaknya tidak berhasil, karena menggulir beberapa blok sekaligus, dan urutannya tampak tidak aktif. Menggulir ke kanan berfungsi dengan baik (meskipun ke arah yang salah). Masalah yang saya alami dengan ini adalah tampaknya membuat banyak duplikat, yang tidak seburuk itu ... tapi tidak terlalu bagus ... jadi untuk setiap item yang saya miliki (6 dalam kasus Anda), skrip itu membuat N duplikat (di mana N = blok ditampilkan per frame).
rodrigo-silveira
5
@ Zentaurus, saya tahu ini sudah terlambat, tetapi lihat contoh empat elemen . Saya telah mengadaptasi logika Skelly untuk pertanyaan SOpt .
Anthony Accioly
3
Menemukan mengapa ini tidak berfungsi pada> 3.3.0 karena dimasukkannya translate3D, periksa jawaban Danijel dan Michal Vrchota di: stackoverflow.com/questions/18613271/…
Jorge Sampayo
2
@Im demo itu membuat 1 slide terlihat. Saya berharap untuk menampilkan 3 atau 4 (sebanyak layar yang sesuai) kemudian menunjukkan 1 item setelah itu.
Junior
1
@Junior Persis, di versi terbaru (4.3.1) satu-satunya hal yang membuatnya bekerja untuk saya adalah penyesuaian margin yang dijelaskan dalam jawaban lain di sini .
Armfoot
30

Semua solusi di atas hacky dan buggy. Jangan coba-coba. Gunakan libs lain. Yang terbaik yang saya temukan - http://sachinchoolur.github.io/lightslider Bekerja dengan baik dengan bootstrap, tidak menambahkan html sampah, sangat dapat dikonfigurasi, responsif, ramah seluler dll ...

$('.multi-item-carousel').lightSlider({
    item: 4,
    pager: false,
    autoWidth: false,
    slideMargin: 0
});
ymakux
sumber
Terima kasih banyak, lib sangat berguna :)
GuiPab
Beberapa dari pustaka slider ini memang mengerdilkan apa yang ditawarkan oleh bootstrap, bahkan 4,. Terima kasih telah berbagi.
KhoPhi
Slider menggandakan slide. Lihat contoh slider mengumpulkan kode di situs web mereka.
Marinski
Ini adalah proyek mati dengan terlalu banyak masalah terbuka. (periksa github mereka)
Osama Rashid
20

Ini adalah bootstrap twitter yang berfungsi 3.

Ini javascriptnya :

$('#myCarousel').carousel({
    interval: 10000
})

$('.carousel .item').each(function(){
    var next = $(this).next();

    if (!next.length) {
        next = $(this).siblings(':first');
    }

    next.children(':first-child').clone().appendTo($(this));

    if (next.next().length>0) {
        next.next().children(':first-child').clone().appendTo($(this));
    }
    else {
        $(this).siblings(':first').children(':first-child').clone().appendTo($(this));
    }
});

Dan cssnya :

.carousel-inner .active.left  { left: -33%;             }
.carousel-inner .active.right { left: 33%;              }
.carousel-inner .next         { left: 33%               }
.carousel-inner .prev         { left: -33%              }
.carousel-control.left        { background-image: none; }
.carousel-control.right       { background-image: none; }
.carousel-inner .item         { background: white;      }

Anda bisa melihatnya beraksi di Jsfiddle ini

Alasan saya menambahkan jawaban ini karena yang lain tidak berfungsi sepenuhnya. Saya menemukan 2 bug di dalamnya, salah satunya adalah panah kiri menghasilkan efek aneh dan yang lainnya tentang teks yang menjadi tebal dalam beberapa situasi penyihir dapat diselesaikan dengan mengatur warna latar belakang sehingga item bawah tidak akan terlihat saat transisi efek.

paulalexandru
sumber
terima kasih telah berbagi ... saya melihat beberapa berkedip di firefox, bagaimanapun.
Elon Zito
@paulalexandru bagaimana cara meningkatkan jumlah gambar di baris yang terlihat?
jack wolier
Nah jika Anda memiliki 4 item di css Anda, Anda harus mengubah 33% dengan 25% dan Anda juga harus membuat sedikit perubahan di javascript. Jika Anda tidak berhasil menyelesaikannya, kirim pertanyaan dan saya akan memposting tanggapan lengkap di sana.
paulalexandru
Ini adalah solusi yang bagus! Terima kasih!
raiderrobert
1
Terima kasih banyak. Ini banyak membantu saya. Saya membangun tema bootstrap khusus untuk situs drupal 8 berdasarkan tema Barrio. Tidak terlalu banyak opsi untuk menyesuaikan carousel. JS dan CSS yang Anda berikan bekerja seperti ajaib. Saya harus mengubah kode sedikit agar sesuai dengan kebutuhan saya tetapi semuanya bekerja dengan luar biasa. Terima kasih banyak @paulalexandru
sylvery
6

Inilah yang berhasil bagi saya. JQuery dan CSS yang sangat sederhana untuk membuat carousel responsif berfungsi secara independen dari carousel di halaman yang sama. Sangat dapat dikustomisasi tetapi pada dasarnya adalah div dengan spasi kosong nowrap yang berisi sekelompok elemen blok sebaris dan meletakkan yang terakhir di awal untuk bergerak mundur atau yang pertama ke akhir untuk bergerak maju. Terima kasih insertAfter!

$('.carosel-control-right').click(function() {
  $(this).blur();
  $(this).parent().find('.carosel-item').first().insertAfter($(this).parent().find('.carosel-item').last());
});
$('.carosel-control-left').click(function() {
  $(this).blur();
  $(this).parent().find('.carosel-item').last().insertBefore($(this).parent().find('.carosel-item').first());
});
@media (max-width: 300px) {
  .carosel-item {
    width: 100%;
  }
}
@media (min-width: 300px) {
  .carosel-item {
    width: 50%;
  }
}
@media (min-width: 500px) {
  .carosel-item {
    width: 33.333%;
  }
}
@media (min-width: 768px) {
  .carosel-item {
    width: 25%;
  }
}
.carosel {
  position: relative;
  background-color: #000;
}
.carosel-inner {
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
}
.carosel-item {
  display: inline-block;
}
.carosel-control {
  position: absolute;
  top: 50%;
  padding: 15px;
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.5);
  transform: translateY(-50%);
  border-radius: 50%;
  color: rgba(0, 0, 0, 0.5);
  font-size: 30px;
  display: inline-block;
}
.carosel-control-left {
  left: 15px;
}
.carosel-control-right {
  right: 15px;
}
.carosel-control:active,
.carosel-control:hover {
  text-decoration: none;
  color: rgba(0, 0, 0, 0.8);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="carosel" id="carosel1">
  <a class="carosel-control carosel-control-left glyphicon glyphicon-chevron-left" href="#"></a>
  <div class="carosel-inner">
    <img class="carosel-item" src="http://placehold.it/500/bbbbbb/fff&amp;text=1" />
    <img class="carosel-item" src="http://placehold.it/500/CCCCCC&amp;text=2" />
    <img class="carosel-item" src="http://placehold.it/500/eeeeee&amp;text=3" />
    <img class="carosel-item" src="http://placehold.it/500/f4f4f4&amp;text=4" />
    <img class="carosel-item" src="http://placehold.it/500/fcfcfc/333&amp;text=5" />
    <img class="carosel-item" src="http://placehold.it/500/f477f4/fff&amp;text=6" />
  </div>
  <a class="carosel-control carosel-control-right glyphicon glyphicon-chevron-right" href="#"></a>
</div>
<div class="carosel" id="carosel2">
  <a class="carosel-control carosel-control-left glyphicon glyphicon-chevron-left" href="#"></a>
  <div class="carosel-inner">
    <img class="carosel-item" src="http://placehold.it/500/bbbbbb/fff&amp;text=1" />
    <img class="carosel-item" src="http://placehold.it/500/CCCCCC&amp;text=2" />
    <img class="carosel-item" src="http://placehold.it/500/eeeeee&amp;text=3" />
    <img class="carosel-item" src="http://placehold.it/500/f4f4f4&amp;text=4" />
    <img class="carosel-item" src="http://placehold.it/500/fcfcfc/333&amp;text=5" />
    <img class="carosel-item" src="http://placehold.it/500/f477f4/fff&amp;text=6" />
  </div>
  <a class="carosel-control carosel-control-right glyphicon glyphicon-chevron-right" href="#"></a>
</div>

Mogsdad
sumber
Terima kasih, raksasa kecil, dapatkah Anda membantu saya dengan 'indikator korsel' dalam jawaban Anda. dan fitur geser otomatis mengaktifkan / menonaktifkan.
MahiMan
6

Perbarui 2019-03-06 - Bootstrap v4.3.1

Tampaknya versi Bootstrap baru menambahkan a margin-right: -100%ke setiap item, oleh karena itu dalam solusi responsif yang diberikan dalam jawaban yang paling banyak dipilih di sini , properti ini harus disetel ulang, misalnya:

.carousel-inner .carousel-item {
    margin-right: inherit;
}

Sebuah codepen yang berfungsi dengan v4.3.1 di LESS .

CPHPython
sumber
Tuhan memberkati Anda ahaha
Alberto Bellini
1
Bagi siapa pun yang kesulitan dengan jawaban pilihan terbaik di atas, jawaban ini, khususnya tautan codepen berfungsi dengan baik menggunakan bootstrap v4.4.0. Dengan sedikit penyesuaian, Anda dapat dengan mudah membuatnya berfungsi dengan 4 slide terlihat atau apa pun yang Anda butuhkan. Terima kasih telah memposting.
crdunst
3

Jawaban paling populer adalah benar, tetapi menurut saya kodenya rumit dan tidak berguna. Dengan css yang sama, kode jquery ini lebih mudah dimengerti saya percaya:

$('#myCarousel').carousel({
  interval: 10000
})

$('.carousel .item').each(function() {
  var item = $(this);
  item.siblings().each(function(index) {
    if (index < 4) {
      $(this).children(':first-child').clone().appendTo(item);
    }
  });
});
Luke Skywalker
sumber
Ini berfungsi untuk saya, meskipun saya mengalami bahwa item yang berbeda disusun secara vertikal, bukan horizontal, sementara animasinya masih berjalan secara horizontal
Don Giulio
2

coba ini ..... itu bekerja di milikku .... kode:

<div class="container">
    <br>
    <div id="myCarousel" class="carousel slide" data-ride="carousel">
        <!-- Indicators -->
        <ol class="carousel-indicators">
            <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
            <li data-target="#myCarousel" data-slide-to="1"></li>
            <li data-target="#myCarousel" data-slide-to="2"></li>
            <li data-target="#myCarousel" data-slide-to="3"></li>
        </ol>

        <!-- Wrapper for slides -->
        <div class="carousel-inner" role="listbox">
            <div class="item active">
                <div class="span4" style="padding-left: 18px;">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                </div>
            </div>
            <div class="item">
                 <div class="span4" style="padding-left: 18px;">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                    <img src="http://placehold.it/290x180" class="img-thumbnail">
                </div>
            </div>
        </div>
        <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>
</div>
Prashant Shastri
sumber
2

    $('#carousel-example-generic').on('slid.bs.carousel', function () {
        $(".item.active:nth-child(" + ($(".carousel-inner .item").length -1) + ") + .item").insertBefore($(".item:first-child"));
        $(".item.active:last-child").insertBefore($(".item:first-child"));
    });    
        .item.active,
        .item.active + .item,
        .item.active + .item  + .item {
           width: 33.3%;
           display: block;
           float:left;
        }          
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel" style="max-width:800px;">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
  </ol>

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
        <img data-src="holder.js/300x200?text=1">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=2">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=3">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=4">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=5">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=6">
    </div>
    <div class="item">
        <img data-src="holder.js/300x200?text=7">
    </div>    
  </div>

  <!-- Controls -->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/holder/2.9.1/holder.min.js"></script>
    

Bass Jobsen
sumber
0

Saya memiliki masalah yang sama dan solusi yang dijelaskan di sini berfungsi dengan baik. Tapi saya ingin mendukung perubahan ukuran jendela (dan tata letak). Hasilnya adalah perpustakaan kecil yang menyelesaikan semua perhitungan. Lihat di sini: https://github.com/SocialbitGmbH/BootstrapCarouselPageMerger

Untuk membuat skrip berfungsi, Anda harus menambahkan <div>pembungkus baru dengan kelas .item-content langsung ke file .item <div>. Contoh:

<div class="carousel slide multiple" id="very-cool-carousel" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
        <div class="item active">
            <div class="item-content">
                First page
            </div>
        </div>
        <div class="item active">
            <div class="item-content">
                Second page
            </div>
        </div>
    </div>
</div>

Penggunaan perpustakaan ini:

socialbitBootstrapCarouselPageMerger.run('div.carousel');

Untuk mengubah pengaturan:

socialbitBootstrapCarouselPageMerger.settings.spaceCalculationFactor = 0.82;

Contoh:

Seperti yang Anda lihat, carousel diperbarui untuk menampilkan lebih banyak kontrol saat Anda mengubah ukuran jendela. Periksa watchWindowSizeTimeoutpengaturan untuk mengontrol waktu tunggu untuk bereaksi terhadap perubahan ukuran jendela.

Thomas Kekeisen
sumber
0
Try this code


 <div id="recommended-item-carousel" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
        <div class="item active">

            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend1.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend2.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend3.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
        </div>
        <div class="item">
            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend1.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend2.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
            <div class="col-sm-3">
                <div class="product-image-wrapper">
                    <div class="single-products">
                        <div class="productinfo text-center">
                            <img src="img/home/recommend3.jpg" alt="" />
                            <h2>$56</h2>
                            <p>
                                Easy Polo Black Edition
                            </p>
                            <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</a>
                        </div>

                    </div>
                </div>
            </div>
        </div>
    </div>
    <a class="left recommended-item-control" href="#recommended-item-carousel" data-slide="prev"> <i class="fa fa-angle-left"></i> </a>
    <a class="right recommended-item-control" href="#recommended-item-carousel" data-slide="next"> <i class="fa fa-angle-right"></i> </a>
</div>
SUNIL KUMAR EU
sumber
-1

Anda dapat menambahkan beberapa li di tag ol yang memiliki atribut sebagai kelas dengan nilai "carousel-indicator" dan dengan data-slide-to memiliki nilai berurutan seperti 0 hingga 6 atau 0 hingga 9.

maka Anda hanya perlu menyalin dan menempel div yang memiliki atribut sebagai kelas dengan nilai "item".

Ini berhasil untuk saya.

<div data-ride="carousel" class="carousel slide" id="myCarousel">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li class="" data-slide-to="0" data-target="#myCarousel"></li>
        <li data-slide-to="1" data-target="#myCarousel" class=""></li>
        <li data-slide-to="2" data-target="#myCarousel" class="active"></li>
        <li data-slide-to="3" data-target="#myCarousel" class=""></li>
        <li data-slide-to="4" data-target="#myCarousel" class=""></li>
        <li data-slide-to="5" data-target="#myCarousel" class=""></li>
        <li data-slide-to="6" data-target="#myCarousel" class=""></li>
    </ol>
    <div role="listbox" class="carousel-inner">
        <div class="item active">
            <img alt="First slide" src="images/carousel/11.jpg"
                class="first-slide">
        </div>
        <div class="item">
            <img alt="Second slide" src="images/carousel/22.jpg"
                class="second-slide">
        </div>
        <div class="item">
            <img alt="Third slide" src="images/carousel/33.jpg"
                class="third-slide">
        </div>
        <div class="item">
            <img alt="Third slide" src="images/carousel/44.jpeg"
                class="fourth-slide">
        </div>
        <div class="item">
            <img alt="Third slide" src="images/carousel/55.jpg"
                class="third-slide">
        </div>
        <div class="item">
            <img alt="Third slide" src="images/carousel/66.jpg"
                class="third-slide">
        </div>
        <div class="item">
            <img alt="Third slide" src="images/carousel/77.jpg"
                class="third-slide">
        </div>
    </div>
    <a data-slide="prev" role="button" href="#myCarousel"
        class="left carousel-control"> <span aria-hidden="true"
        class="glyphicon glyphicon-chevron-left"></span> <span
        class="sr-only">Previous</span>
    </a> <a data-slide="next" role="button" href="#myCarousel"
        class="right carousel-control"> <span aria-hidden="true"
        class="glyphicon glyphicon-chevron-right"></span> <span
        class="sr-only">Next</span>
    </a>
</div>
Hemant_R_D
sumber
1
bisakah kamu menunjukkan kami bootply ?? itu tidak berhasil dan saya tidak mendapatkan apa yang ingin Anda lakukan di sini ??
azerafati
-1

Referensi ke tautan di atas saya menambahkan 1 hal baru yang disebut tampilkan 4 pada waktu, geser satu per satu untuk bootstrap 3 (v3.3.7)

DENGAN KODE : - https://www.codeply.com/go/eWUbGlspqU

SNIPPET LANGSUNG

(function(){
  $('#carousel123').carousel({ interval: 2000 });
}());

(function(){
  $('.carousel-showmanymoveone .item').each(function(){
    var itemToClone = $(this);

    for (var i=1;i<4;i++) {
      itemToClone = itemToClone.next();

      // wrap around if at end of item collection
      if (!itemToClone.length) {
        itemToClone = $(this).siblings(':first');
      }

      // grab item, clone, add marker class, add to collection
      itemToClone.children(':first-child').clone()
        .addClass("cloneditem-"+(i))
        .appendTo($(this));
    }
  });
}());
body {
    margin-top: 50px;
}

.carousel-showmanymoveone .carousel-control {
  width: 4%;
  background-image: none;
}
.carousel-showmanymoveone .carousel-control.left {
  margin-left: 15px;
}
.carousel-showmanymoveone .carousel-control.right {
  margin-right: 15px;
}
.carousel-showmanymoveone .cloneditem-1,
.carousel-showmanymoveone .cloneditem-2,
.carousel-showmanymoveone .cloneditem-3 {
  display: none;
}
@media all and (min-width: 768px) {
  .carousel-showmanymoveone .carousel-inner > .active.left,
  .carousel-showmanymoveone .carousel-inner > .prev {
    left: -50%;
  }
  .carousel-showmanymoveone .carousel-inner > .active.right,
  .carousel-showmanymoveone .carousel-inner > .next {
    left: 50%;
  }
  .carousel-showmanymoveone .carousel-inner > .left,
  .carousel-showmanymoveone .carousel-inner > .prev.right,
  .carousel-showmanymoveone .carousel-inner > .active {
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner .cloneditem-1 {
    display: block;
  }
}
@media all and (min-width: 768px) and (transform-3d), all and (min-width: 768px) and (-webkit-transform-3d) {
  .carousel-showmanymoveone .carousel-inner > .item.active.right,
  .carousel-showmanymoveone .carousel-inner > .item.next {
    -webkit-transform: translate3d(50%, 0, 0);
            transform: translate3d(50%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.active.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev.right,
  .carousel-showmanymoveone .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    left: 0;
  }
}
@media all and (min-width: 992px) {
  .carousel-showmanymoveone .carousel-inner > .active.left,
  .carousel-showmanymoveone .carousel-inner > .prev {
    left: -25%;
  }
  .carousel-showmanymoveone .carousel-inner > .active.right,
  .carousel-showmanymoveone .carousel-inner > .next {
    left: 25%;
  }
  .carousel-showmanymoveone .carousel-inner > .left,
  .carousel-showmanymoveone .carousel-inner > .prev.right,
  .carousel-showmanymoveone .carousel-inner > .active {
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner .cloneditem-2,
  .carousel-showmanymoveone .carousel-inner .cloneditem-3 {
    display: block;
  }
}
@media all and (min-width: 992px) and (transform-3d), all and (min-width: 992px) and (-webkit-transform-3d) {
  .carousel-showmanymoveone .carousel-inner > .item.active.right,
  .carousel-showmanymoveone .carousel-inner > .item.next {
    -webkit-transform: translate3d(25%, 0, 0);
            transform: translate3d(25%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.active.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev {
    -webkit-transform: translate3d(-25%, 0, 0);
            transform: translate3d(-25%, 0, 0);
    left: 0;
  }
  .carousel-showmanymoveone .carousel-inner > .item.left,
  .carousel-showmanymoveone .carousel-inner > .item.prev.right,
  .carousel-showmanymoveone .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    left: 0;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="carousel carousel-showmanymoveone slide" id="carousel123">
	<div class="carousel-inner">
		<div class="item active">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/0054A6/fff/&amp;text=1" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/002d5a/fff/&amp;text=2" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/d6d6d6/333&amp;text=3" class="img-responsive"></a></div>
		</div>          
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/002040/eeeeee&amp;text=4" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/0054A6/fff/&amp;text=5" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/002d5a/fff/&amp;text=6" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/eeeeee&amp;text=7" class="img-responsive"></a></div>
		</div>
		<div class="item">
			<div class="col-xs-12 col-sm-6 col-md-3"><a href="#"><img src="http://placehold.it/500/40a1ff/002040&amp;text=8" class="img-responsive"></a></div>
		</div>
	</div>
	<a class="left carousel-control" href="#carousel123" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
	<a class="right carousel-control" href="#carousel123" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

Nisharg Shah
sumber