簡體   English   中英

如果只有一個滑塊,則隱藏Twitter Bootstrap左右箭頭

[英]Hide Twitter Bootstrap left and right arrows if only one slider is present

我一直試圖隱藏Bootstrap Carousel左右按鈕,如果只有一個滑塊,但似乎無法讓它正常工作。

我試過了

    if ($('.carousel-inner div').length === 1 ) { 
        $(this).find('.controls .carousel-control').hide();
    }

    if($('.carousel-inner .item').is(':only-child')) {
    $(this).find('.controls .carousel-control').hide();

沒有運氣。

有沒有特別的理由為什么這些都不會起作用? 控制台為.length返回正確數量的滑塊,我在處理.hide播的不同函數上使用完全相同的.hide方法。

只要您每頁有1個輪播,接受的答案就可以正常工作。 我有一對,所以我想加入解決方案:

基於使用標准Bootstrap Carousel Mark up:

<div id="myCarousel" class="carousel slide">
  <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>
  </ol>
  <!-- Carousel items -->
  <div class="carousel-inner">
    <div class="active item">…</div>
    <div class="item">…</div>
    <div class="item">…</div>
  </div>
  <!-- Carousel nav -->
  <a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
  <a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
</div>

你想要遍歷旋轉木馬的每次出現,使用$(this)並抓住它的兄弟姐妹:

$('.carousel-inner').each(function() {

    if ($(this).children('div').length === 1) $(this).siblings('.carousel-control, .carousel-indicators').hide();

});

而不是$(this).find(...).hide(); 嘗試$('.controls .carousel-control').hide();

試試這個Bootstrap 4+

$('.carousel-inner').each(function() {

if ($(this).children('div').length === 1) $(this).siblings('.carousel-indicators, .carousel-control-prev, .carousel-control-next').hide();

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM