Если элементы в вашей карусели можно переупорядочить, единственный надежный способ получения индекса текущего элемента, который я нашел, это:
$('#myCarousel').on('jcarousel:visiblein', 'li', function(event, carousel) {
var index = $('#'+this.id).index();
console.log('++ index: %s', index);
});
Вот почему.
Вы заметите, что this.id
каждого элемента в карусели - это что-то вроде image-1
, где 1 - исходный индекс элемента в карусели до того, как его заказ был изменен. Этот индекс, по-видимому, является тем, что можно получить с помощью события jcarousel:animateend
и вызова carousel.index($(this).jcarousel('first'))
.
Однако, как только вы начнете переупорядочивать элементы в карусели, это событие больше не будет полезным, и число в id теперь вводит в заблуждение. Итак, нам нужно использовать положение <li>
в <ul>
, чтобы определить индекс текущего элемента.