อัปเดต 2019 ...
Bootstrap 4
ภาพหมุนมีการเปลี่ยนแปลงใน 4.x และการเปลี่ยนภาพเคลื่อนไหวแบบหลายสไลด์สามารถแทนที่ได้เช่นนี้ ...
.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 (แสดง 4 เลื่อนไปทีละ 1 ครั้ง)
Bootstrap 4.1.0 (แสดง 3 ล่วงหน้าครั้งละ 1 ครั้ง)
Bootstrap 4.1.0 (เลื่อน 4 ครั้งพร้อมกัน)
Bootstrap 4.3.1 ตอบสนอง (แสดงหลายรายการล่วงหน้า 1) new
Bootstrap 4.3.1 ม้าหมุนพร้อมการ์ดnew
อีกทางเลือกหนึ่งคือภาพหมุนแบบตอบสนองที่แสดงและเลื่อนไปข้างหน้าเพียง1 สไลด์บนหน้าจอขนาดเล็กแต่การแสดงหลายสไลด์เป็นหน้าจอขนาดใหญ่ภาพนิ่งหลายหน้าจอขนาดใหญ่แทนที่จะโคลนสไลด์เหมือนตัวอย่างก่อนหน้าอันนี้จะปรับ CSS และใช้ jQuery เท่านั้นเพื่อย้ายสไลด์พิเศษเพื่อให้สามารถขี่จักรยานได้อย่างต่อเนื่อง (ล้อมรอบ):
โปรดอย่าคัดลอกและวางรหัสนี้ ก่อนอื่นให้ทำความเข้าใจว่ามันทำงานอย่างไร
Bootstrap 4 ตอบสนอง (แสดง 3, 1 สไลด์บนมือถือ)
@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>
ตัวอย่าง - Bootstrap 4 Responsive (แสดง 4, 1 สไลด์บนมือถือ)
ตัวอย่าง - Bootstrap 4 Responsive (แสดง 5, 1 สไลด์บนมือถือ)
Bootstrap 3
นี่คือตัวอย่าง 3.x ใน Bootply: http://bootply.com/89193
คุณต้องใส่รูปภาพทั้งแถวในรายการที่ใช้งานอยู่ นี่คืออีกเวอร์ชันหนึ่งที่ไม่ซ้อนภาพที่ความกว้างของหน้าจอที่เล็กกว่า: http://bootply.com/92514
แก้ไขวิธีการทางเลือกเพื่อเลื่อนทีละสไลด์ :
ใช้ jQuery เพื่อโคลนรายการถัดไป ..
$('.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));
}
});
แล้ว CSS เพื่อจัดตำแหน่งตาม ...
ก่อน 3.3.1
.carousel-inner .active.left { left: -33%; }
.carousel-inner .next { left: 33%; }
หลังจาก 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);
}
การดำเนินการนี้จะแสดง 3 ครั้ง แต่จะเลื่อนทีละครั้งเท่านั้น:
Bootstrap 3.x สาธิต
โปรดอย่าคัดลอกและวางรหัสนี้ ก่อนอื่นให้ทำความเข้าใจว่ามันทำงานอย่างไร คำตอบนี้อยู่ที่นี่เพื่อช่วยให้คุณเรียนรู้
การเพิ่มแถบเลื่อน bootstrap 4 ที่แก้ไขแล้วนี้ทำหน้าที่เพียงครึ่งเดียวอย่างถูกต้อง (ลูปเลื่อนหยุดทำงาน)
วิธีสร้างแถบเลื่อน bootstrap 2 ตัวในหน้าเดียวโดยไม่ต้องผสม css และ jquery
Bootstrap 4 Multi Carousel แสดงภาพ 4 ภาพแทนที่จะเป็น 3