Получение индекса текущего элемента в JCarousel - PullRequest
12 голосов
/ 25 августа 2009

Я пытаюсь получить индекс текущего элемента в JCarousel , чтобы я мог отобразить текущую позицию в Карусели для пользователя. Например, '13 / 20'.

Как я могу это сделать?

EDIT:

Образец конечного продукта:

Carousel Screenshot

Ответы [ 11 ]

0 голосов
/ 31 мая 2016

Если элементы в вашей карусели можно переупорядочить, единственный надежный способ получения индекса текущего элемента, который я нашел, это:

$('#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>, чтобы определить индекс текущего элемента.

...