2013-10-27 11 views
7

Sto provando Twitter bootstrap 3. Sono abbastanza nuovo per HTML, CSS e Javascript. Ho una giostra che ho creato e del codice è in questo modo:Bootstrap su Twitter - immagine multipla (miniatura) carosello - sposta le miniature una alla volta

<div class="container"> 
    <div id="myCarousel2" class="carousel slide"> 
     <!-- Carousel items --> 
     <div class="carousel-inner"> 
      <div class="item active"> 
       <div class="row text-center"> 
        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/buzzbutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 

        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/recipebutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 

        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/buzzbutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 

        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/recipebutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 
       </div> 
      </div> 
      <div class="item"> 
       <div class="row text-center"> 
        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/buzzbutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 
        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/recipebutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 
        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/buzzbutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 
        <!-- ITEM--> 
        <div class="col-md-3"> 
         <div class="thumbnail product-item"> <a class="img-responsive" href="/current-buzz"><img src="{% static 'img/recipebutton.jpg' %}"/></a> 

         </div> 
        </div> 
        <!-- ITEM--> 
       </div> 
      </div> 
     </div> 
     <!-- /INNER--> 
     <!-- Carousel nav --> 

     <a class="carousel-control left" href="#myCarousel2" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a> 

    </div> 
</div> 

Ora, questo è impostato per visualizzare 4 immagini alla volta. Il fatto è che ho 8 immagini. Nella giostra di sopra di essa mostra 4 immagini alla volta e poi scivola al successivo 4. Ecco il Javascript:

<script type="text/javascript"> 
$('.carousel.slide').carousel() 
</script> 

E il CSS:

@media (max-width: 767px){ 
.carousel .row .span3 { 
display: block; 
float: left; 
width: 25%; 
margin-left: 0; 
-webkit-box-sizing: border-box; 
-moz-box-sizing: border-box; 
box-sizing: border-box; 
    } 
} 
.carousel .carousel-control { visibility: hidden; } 

Come faccio ad avere le immagini di muoversi solo uno alla volta in un ciclo continuo?

+0

Vuoi che venga visualizzato solo uno alla volta o visualizza 4, ma si sposta solo 1 lungo? – SharkofMirkwood

+0

@SharkofMirkwood - mostra 4 ma sposta solo 1 lungo i suoni esattamente quello che voglio fare .. – rahuL

+0

Ah, giusto, mi scuso quindi, non so come farlo con il carosello di Bootstrap. Non sono sicuro che sia possibile, ad essere onesti. Ovviamente, visualizzare solo uno alla volta sarebbe stato molto più semplice! – SharkofMirkwood

risposta

11

Date un'occhiata a questo Bootply: http://bootply.com/94452

È possibile utilizzare jQuery per clonare() le voci di conseguenza ..

$('.carousel .item').each(function(){ 
    var next = $(this).next(); 
    if (!next.length) { 
    next = $(this).siblings(':first'); 
    } 
    next.children(':first-child').clone().appendTo($(this)); 

    for (var i=0;i<2;i++) { 
    next=next.next(); 
    if (!next.length) { 
     next = $(this).siblings(':first'); 
    } 

    next.children(':first-child').clone().appendTo($(this)); 
    } 
}); 

Opzione alternativa: Bootstrap carousel multiple frames at once

+0

Bello, grazie per l'esempio! Sto avendo un po 'di problemi, sto usando il codice che hai inserito nel link di bootply sopra, e per qualche ragione, vedo solo un'immagine alla volta, invece di vedere comunque molte immagini potrebbero essere in grado di giostra. Non ho cambiato alcun codice, tuttavia non sembra l'esempio di quel link. Riesci a pensare a cosa potrebbe andare storto per me? –

+0

@JakeSmith Ho avuto lo stesso problema. Ho anche dimenticato di aggiungere la parte jquery anche al mio script. Assicurati di aggiungere anche quello. – Dynelight

+0

@Dynelight, grazie per aver risposto :) Questa potrebbe essere una domanda stupida, ma ti stai riferendo solo a fare riferimento alle librerie jquery nel mio html da qualche parte? Mi mancano alcune funzionalità jQuery non includendo queste librerie esplicitamente? –

Problemi correlati