You have to use the 'slid.bs.carousel'
event.
Fiddle : http://jsfiddle.net/35DGj/1/
JS :
$(document).ready(function(ev){
$('#custom_carousel .controls a').on('click',function(){
$('#custom_carousel .controls li.active').removeClass('active');
$(this).parent('li').addClass('active');
});
$('#custom_carousel').on('slid.bs.carousel',function(){
var j = $('.carousel-inner .item.active').index();
$('.controls .nav li').removeClass('active').eq(j).addClass('active');
});
});
SpidrJeru Solution : EDIT
alternative solution:
JS
$(document).ready(function(ev){
$('#custom_carousel').on('slide.bs.carousel', function (evt) {
$('#custom_carousel .controls li.active').removeClass('active');
$('#custom_carousel .controls li:eq('+$(evt.relatedTarget).index()+')').addClass('active');
})
});
both solutions result in the exact same effect.