2013-04-24 3 views
0

С помощью приведенного ниже кода, когда я нажимаю на MY BUTTON, отображается номер позиции 3.Слайд к элементу по его идентификатору вместо индекса - .carousel (index)

$('#myButton').click(function() { 
    $('#myCarousel').carousel(3); 
}); 

-

<div id="myCarousel" class="carousel slide"> 
    <div class="carousel-inner"> 
     <div class="active item">0</div> 
     <div class="item">1</div> 
     <div class="item">2</div> 
     <div id="myItem3" class="item">3</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> 

    <a id="myButton">MY BUTTON</a> 
</div> 

Есть ли способ, чтобы показать деталь его Id, а не его индекс?

somehting так:

$('#myButton').click(function() { 
    $('#myCarousel').carousel($('#myItem3')); 
}); 

ответ

2

вы могли бы сделать что-то вроде $("#myItem4").prevAll("div").length + 1

это получит все предыдущие братья и сестры, сосчитать их, и добавить 1 ... получать это собственный индекс в это братья и сестры

Редактировать: Я просто нашел документацию, и карусель имеет индекс на основе 0. Я предположил, что он основан на 1, потому что вы сказали. Carousel (4) отвез вас к 4-му пункту. Так как это 0, удалите + 1 ...

$('#myButton').click(function() { 
    $('#myCarousel').carousel($("#myItem4").prevAll("div").length); 
}); 
+1

очень умное решение! Он работает, полагая, что карусель js присваивает индекс (1,2,3., ..) в зависимости от порядка детей в пределах div. –

Смежные вопросы