2012-07-12 40 views
5

如果只有一個滑塊存在但無法使其正常工作,我一直試圖隱藏Bootstrap旋轉木馬左右按鈕。隱藏Twitter Bootstrap左右箭頭(如果只有一個滑塊)

我已經試過

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方法。

+3

'$(this)'引用是什麼? – ahren 2012-07-12 21:05:17

回答

6

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

+0

謝謝,只要我讀到「什麼是$(this)'引用」就是我找到的。你的答案最終是解決方案。 – 2012-07-12 21:10:11

12

接受的答案工作得很好,只要你有每頁1個轉盤。我有一對夫婦這樣想我會添加到解決方案:

基於使用標準引導旋轉木馬標記:

<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> 

你想通過一個旋轉木馬的每次出現迭代,使用$ (這個)並抓住它的兄弟姐妹:

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

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

}); 
+0

感謝您的加入。 – 2013-03-11 03:19:36

相關問題