2012-07-12 4 views
5

Ich habe versucht, die Bootstrap-Karussell links und rechts Tasten zu verstecken, wenn nur ein Schieber vorhanden ist, aber kann nicht scheinen, um es richtig zu arbeiten.ausblenden Twitter Bootstrap Pfeile links und rechts, wenn nur ein Schieber vorhanden ist

Ich habe

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

und

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

ohne Erfolg.

Gibt es einen bestimmten Grund, warum beides nicht funktionieren würde? Die Konsole gibt die richtige Anzahl von Schiebereglern für .length und ich verwende die exakt gleiche .hide Methode auf einer anderen Funktion mit diesem Karussell handelt.

+3

was ist '$ (this)' Referenzierung? – ahren

Antwort

6

Statt $(this).find(...).hide(); versuchen $('.controls .carousel-control').hide();

+0

Danke, sobald wir lesen: „Was ist' $ (this) 'Referenzierung“ es kam zu mir. Ihre Antwort war schließlich die Lösung. –

12

Die akzeptierte Antwort so lange gut funktioniert, wie Sie 1 Karussell pro Seite haben. Ich hatte so ein paar dachte ich zu der Lösung hinzufügen würde:

Basierend auf dem Standard-Boot Karussell Mark mit bis:

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

Sie wollen werden durch jedes Auftreten eines Karussells, Verwendung $ iterieren (this) und schnapp dir seine Geschwister:

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

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

}); 
+0

Vielen Dank für diese Zugabe. –

Verwandte Themen