[英]How to limit height in a ngx-bootstrap carousel without overly stretching the width on large screens
[英]How to stop Bootstrap 5 carousel autoslide only for large screens?
我有來自 Bootstrap 5 的輪播,它只需要為大屏幕停止自動滑動,但對於移動版本,我需要自動滑動。 如果只能使用 html 和 css/scss,我該怎么做?
我知道data-bs-interval="false"
但這也停止了移動屏幕的自動滑動。
<div id="carouselExampleControls" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
在正文末尾添加此腳本
<script>
if(window.innerWidth > 1000){
document.getElementById('carouselExampleControls').dataset.bsInterval = false
}
</script>
這將在加載之前檢查窗口的大小,如果大小大於 1000,則將 data-bs-interval 設置為 false
您可以使用 javascript 調用interval: false
。 並且,還定義窗口寬度。 請嘗試以下javascript。
var myCarousel = document.querySelector('#carouselExampleControls')
if ($(window).width() > 991) {
var carousel = new bootstrap.Carousel(myCarousel, {
interval: false
})
}
閱讀新的BS5 輪播文檔后,它適用於調整窗口大小
$(document).ready(function() {
$(window).resize(function() {
if ($(window).width() < 768) {
$('#FirstBox').removeClass('active');
$('#SecondBox').addClass('active');
$('#ThirdBox').removeClass('active');
document.getElementById('MyCarousel').dataset.bsInterval = 3000;
document.getElementById('MyCarousel').dataset.bsRide = 'carousel';
$('.carousel').carousel('cycle');
}
if ($(window).width() >= 768) {
$('#FirstBox').addClass('active');
$('#SecondBox').addClass('active');
$('#ThirdBox').addClass('active');
document.getElementById('MyCarousel').dataset.bsInterval = false;
document.getElementById('MyCarousel').dataset.bsRide = false;
$('.carousel').carousel('pause');
}
});
$(window).trigger('resize');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.