These steps work:

1) If not adding the numbers to the list items manually, include what's in 
green:

        var slider = $(".carousel");
        
        slider.append("<ol class='carousel-indicators'></ol>");  //prepend 
instead if you want it at the beginning
        
        var sliderInd = $(".carousel-indicators");
        
        
slider.find(".carousel-inner").children(".item").each(function(index) {
            (index === 0) ? 
            sliderInd.append("<li data-target='#background-slider' 
data-slide-to='"+index+"' class='active'>*"+(index+1)+"*</li>") : 
            sliderInd.append("<li data-target='#background-slider' 
data-slide-to='"+index+"'>*"+(index+1)+"*</li>");
        });;           


2) Then, add some CSS to overwrite the default negative text-indent 
(-999px) on the .carousel-indicators li:

          .carousel-indicators li {
               text-indent: 0;
          }

On Monday, February 11, 2013 8:50:59 AM UTC-5, kshitiz shankar wrote:
>
> Is there a direct way to add slide numbers inside the indicators?
>
> On Monday, 11 February 2013 21:43:12 UTC+8, Eddie Staples wrote:
>>
>> OK, Bootstrap 2.3 just released which includes pagination functionality!  
>> To auto-generate the carousel indicators you'd now use this (place this 
>> before you call the carousel in js):
>>
>>         var slider = $(".carousel");
>>         
>>         slider.append("<ol class='carousel-indicators'></ol>");  
>> //prepend instead if you want it at the beginning
>>         
>>         var sliderInd = $(".carousel-indicators");
>>         
>>         
>> slider.find(".carousel-inner").children(".item").each(function(index, 
>> element) {
>>             (index === 0) ? 
>>             sliderInd.append("<li data-target='#background-slider' 
>> data-slide-to='"+index+"' class='active'></li>") : 
>>             sliderInd.append("<li data-target='#background-slider' 
>> data-slide-to='"+index+"'></li>");
>>         });;
>>
>>
>>
>> On Friday, February 8, 2013 10:58:36 AM UTC-5, Eddie Staples wrote:
>>>
>>> Thanks for this, Nicolas! I extended your work to **auto-generate** the 
>>> .slider-pager div:
>>>
>>>         var slider = $("#slider-wrapper") 
>>>         .carousel({ 
>>>             interval: 4000 
>>>         }) 
>>>         .bind('slid', function() { 
>>>             var index = $(this).find(".active").index(); 
>>>             $(this).find("a").removeClass(
>>> 'pager-active').eq(index).addClass('pager-active'); 
>>>         });
>>>
>>>         slider.append("<div id='slider-indicator'></div>");
>>>         
>>>         var sliderInd = $("#slider-indicator");
>>>         
>>>         
>>> slider.find(".carousel-inner").children(".item").each(function(index, 
>>> element) {
>>>             (index === 0) ? sliderInd.append("<a 
>>> class='active'>"+(index+1)+"</a>") : 
>>> sliderInd.append("<a>"+(index+1)+"</a>");
>>>         });;
>>>
>>>        $("#slider-wrapper .slider-pager a").click(function(e){ 
>>>              var index = $(this).index(); 
>>>              slider.carousel(index); 
>>>              e.preventDefault(); 
>>>        }); 
>>>
>>> That way my users don't have to worry about manually updating that 
>>> part.  I'm sure it can be improved upon but it gets the job done.
>>>
>>> --
>>> Eddie Staples
>>> http://about.me/eddiestaples
>>>
>>> On Tuesday, June 12, 2012 3:53:17 AM UTC-4, Nicolas Chenet wrote:
>>>
>>>>
>>>> Here is a sample HTML code:
>>>>
>>>> <div id="slider-wrapper" class="carousel container">
>>>>     <div class="slider carousel-inner">
>>>>         <div class="active item item-0">
>>>>             <h1>Why organize <br> this type of conference...</h1>
>>>>         </div>
>>>>         <div class="item item-1">
>>>>             <h1>when you can create <br> an experience ?!</h1>
>>>>         </div>
>>>>         <div class="item item-2">
>>>>             <h1>Take your events to the next level</h1>
>>>>             <a href="features" class="call-to-action">Start the tour 
>>>> now</a>
>>>>             <div class="slider-features questions">
>>>>                 <h2>Collect questions</h2>
>>>>                 <p>From your audience, live</p>
>>>>                 <a href="features" title="Collect questions">More 
>>>> information</a>
>>>>             </div>
>>>>             <div class="slider-features stats">
>>>>                 <h2>Get statistics</h2>
>>>>                 <p>Realtime, dude !</p>
>>>>                 <a href="features" title="Get statistics"></a>
>>>>             </div>
>>>>             <div class="slider-features time">
>>>>                 <h2>Save time</h2>
>>>>                 <p>And we know that time is money</p>
>>>>                 <a href="features" title="Save time"></a>
>>>>             </div>
>>>>         </div>
>>>>     </div>
>>>>     <div class="slider-pager">
>>>>         <a href="#slider-wrapper" class="pager-active">0</a>
>>>>         <a href="#slider-wrapper">1</a>
>>>>         <a href="#slider-wrapper">2</a>
>>>>     </div>
>>>> </div>
>>>>
>>>>
>>>> And the JS that handles this:
>>>>
>>>>     $("#slider-wrapper .slider-pager a").click(function(e){
>>>>         var index = $(this).index();
>>>>         slider.carousel(index);
>>>>         e.preventDefault();
>>>>     });
>>>>
>>>> -- 
>>>> *Nicolas Chenet*
>>>> *Front-end Developer @ Balloon <http://www.balloonup.com>*
>>>>
>>>> Email: [email protected]
>>>> Let's tweet, guys ! @nicolaschenet<https://twitter.com/#!/nicolaschenet>
>>>>
>>>>
>>>>  

-- 
You received this message because you are subscribed to the Google Groups 
"twitter-bootstrap" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to