2016-12-13 5 views
0

次のリンクをご覧ください: http://bootsnipp.com/snippets/ORaWEブートストラップ体験談カルーセル

私がやって(とそれを達成する方法がわからない)欲しい中心に常にアクティブアバターを維持することです。例えば、第三アバターがアクティブである場合、第三アバターは、中心(位置2)になり、第一アバターは、位置3及び第二のアバターになります位置ここで1

になります小さなグラフィックデモンストレーションです:

誰もが私を助けることができる(イマジンこの3としてアバター。グリーン1は、アクティブcurrenltyである)、または少なくとも私のアイデアや方向性を与えますか? :)

+0

それはあなたが一度に表示するための唯一の3アバターを持っているか、それになることは確実です非常にできます。そして、あまりにも多くのアバターが奇妙にしかならないならば。 –

+0

Dejan純粋なBootstrapで達成するのは容易ではないし、それを達成するために何も試していないときは誰もあなたを助けないだろうと思う。私は滑らかなカルーセルやフクロウカルーセルのようにこのプラグインを使用することをお勧めします。 – makshh

答えて

1

function showAvatar(){ 
 
var no_of_avatars=3; 
 

 
var data=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; 
 

 
var start_index=10; 
 

 
var msg='Start : '; 
 

 
start_index=start_index-Math.floor(no_of_avatars/2)+data.length; 
 

 
for(i=0;i<no_of_avatars;i++) 
 
{ 
 
\t $('#content-id').append('start_index+i : '+(start_index+i)+'<br>'); 
 
\t msg+=','+data[((start_index+i)%data.length)]; 
 
} 
 
    
 
$('#content-id').append(msg); 
 
    
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<button onclick="showAvatar()">click to execute</button> 
 
<div id="content-id"> 
 
</div>

これはあなたを助けるかもしれません。これはちょうどあなたが中心にデータを持つことができるログインですが、あなたのアバターの数が奇数でない場合、わずかな変更しか必要とされませんが、完全な結果を生成しません。

2

ブートストラップカルーセルでこの動作を実現するには、インラインdata-*属性の代わりにカルーセルのjavascript機能を使用する必要があります。ここで

は、作業に必要なものの一例である - 作業

$(document).ready(function() { 
 
    var flag = false; 
 
    $("#quote-carousel").on('slide.bs.carousel', function() { 
 
    if (!flag) { 
 
     var arr = $('ol.carousel-indicators > li'); 
 
     $($('ol.carousel-indicators')).append($('ol.carousel-indicators > li')[0]); 
 
     $('.carousel-inner').append($('.carousel-inner > .item')[0]); 
 
    } else { 
 
     flag = false; 
 
    } 
 
    }); 
 

 
    $('#quote-carousel').carousel(); 
 

 
    $('.item-btn').click(function(obj) { 
 
    flag = true; 
 
    var arr = $('.item-btn'); 
 
    var index = arr.index(obj.currentTarget); 
 
    var len = arr.length; 
 
    var mid = Math.floor(len/2); 
 
    $('#quote-carousel').carousel(index); 
 
    if (index < mid) { 
 
     for (i = 0; i < (mid - index); i++) { 
 
     $($('ol.carousel-indicators')).prepend($('.item-btn')[len - 1]); 
 
     $('.carousel-inner').prepend($('.item')[len - 1]); 
 
     } 
 
    } else if (index > mid) { 
 
     for (i = 0; i < (index - mid); i++) { 
 
     $($('ol.carousel-indicators')).append($('.item-btn')[0]); 
 
     $('.carousel-inner').append($('.item')[0]); 
 
     } 
 
    } 
 
    }); 
 

 
    $(".left").click(function() { 
 
    flag = true; 
 
    var arr = $('ol.carousel-indicators > li'); 
 
    $($('ol.carousel-indicators')).prepend(arr[arr.length - 1]); 
 
    arr = $('.carousel-inner > .item'); 
 
    $('.carousel-inner').prepend(arr[arr.length - 1]); 
 
    $("#quote-carousel").carousel("prev"); 
 
    }); 
 
    $(".right").click(function() { 
 
    flag = true; 
 
    var arr = $('ol.carousel-indicators > li'); 
 
    $($('ol.carousel-indicators')).append(arr[0]); 
 
    arr = $('.carousel-inner > .item'); 
 
    $('.carousel-inner').append(arr[0]); 
 
    $("#quote-carousel").carousel("next"); 
 
    }); 
 
});
/* Carousel */ 
 

 
#quote-carousel { 
 
    padding: 0 10px 30px 10px; 
 
    margin-top: 30px; 
 
    /* Control buttons */ 
 
    /* Previous button */ 
 
    /* Next button */ 
 
    /* Changes the position of the indicators */ 
 
    /* Changes the color of the indicators */ 
 
} 
 

 
#quote-carousel .carousel-control { 
 
    background: none; 
 
    color: #CACACA; 
 
    font-size: 2.3em; 
 
    text-shadow: none; 
 
    margin-top: 30px; 
 
} 
 

 
#quote-carousel .carousel-control.left { 
 
    left: -60px; 
 
} 
 

 
#quote-carousel .carousel-control.right { 
 
    right: -60px; 
 
} 
 

 
#quote-carousel .carousel-indicators { 
 
    right: 50%; 
 
    top: auto; 
 
    bottom: 0px; 
 
    margin-right: -19px; 
 
} 
 

 
#quote-carousel .carousel-indicators li { 
 
    width: 50px; 
 
    height: 50px; 
 
    margin: 5px; 
 
    cursor: pointer; 
 
    border: 4px solid #CCC; 
 
    border-radius: 50px; 
 
    opacity: 0.4; 
 
    overflow: hidden; 
 
    transition: all 0.4s; 
 
    margin-bottom: 45px; 
 
} 
 

 
#quote-carousel .carousel-indicators .active { 
 
    background: #333333; 
 
    width: 128px; 
 
    height: 128px; 
 
    border-radius: 100px; 
 
    border-color: #f33; 
 
    opacity: 1; 
 
    overflow: hidden; 
 
    margin-bottom: 5px; 
 
} 
 

 
.carousel-inner { 
 
    min-height: 300px; 
 
    margin-bottom: 50px; 
 
} 
 

 
.item blockquote { 
 
    border-left: none; 
 
    margin: 0; 
 
} 
 

 
.item blockquote p:before { 
 
    content: "\f10d"; 
 
    font-family: 'Fontawesome'; 
 
    float: left; 
 
    margin-right: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"/> 
 

 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="col-md-12" data-wow-delay="0.2s"> 
 
     <div class="carousel slide" id="quote-carousel"> 
 
     <!-- Bottom Carousel Indicators --> 
 
     <ol class="carousel-indicators"> 
 
      <li class="item-btn"><img class="img-responsive " src="https://s3.amazonaws.com/uifaces/faces/twitter/brad_frost/128.jpg" alt=""> 
 
      </li> 
 
      <li class="item-btn active"><img class="img-responsive" src="https://s3.amazonaws.com/uifaces/faces/twitter/rssems/128.jpg" alt=""> 
 
      </li> 
 
      <li class="item-btn"><img class="img-responsive" src="https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg" alt=""> 
 
      </li> 
 
     </ol> 
 

 
     <!-- Carousel Slides/Quotes --> 
 
     <div class="carousel-inner text-center"> 
 

 
      <!-- Quote 1 --> 
 
      <div class="item"> 
 
      <blockquote> 
 
       <div class="row"> 
 
       <div class="col-sm-8 col-sm-offset-2"> 
 

 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis 
 
        aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. !</p> 
 
        <small>Someone famous</small> 
 
       </div> 
 
       </div> 
 
      </blockquote> 
 
      </div> 
 
      <!-- Quote 2 --> 
 
      <div class="item active"> 
 
      <blockquote> 
 
       <div class="row"> 
 
       <div class="col-sm-8 col-sm-offset-2"> 
 

 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis 
 
        aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. </p> 
 
        <small>Someone famous</small> 
 
       </div> 
 
       </div> 
 
      </blockquote> 
 
      </div> 
 
      <!-- Quote 3 --> 
 
      <div class="item"> 
 
      <blockquote> 
 
       <div class="row"> 
 
       <div class="col-sm-8 col-sm-offset-2"> 
 

 
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis 
 
        aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. .</p> 
 
        <small>Someone famous</small> 
 
       </div> 
 
       </div> 
 
      </blockquote> 
 
      </div> 
 
     </div> 
 

 
     <!-- Carousel Buttons Next/Prev --> 
 
     <a href="#quote-carousel" class="left carousel-control"><i class="fa fa-chevron-left"></i></a> 
 
     <a href="#quote-carousel" class="right carousel-control"><i class="fa fa-chevron-right"></i></a> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

フィドルhere

関連する問題