Как я могу получить видимый элемент в jCarouselLite? - PullRequest
1 голос
/ 30 марта 2011

Я использую плагин jCarouselLite для своего сайта. Это работает очень хорошо. Я хотел добавить некоторые маркеры также внизу изображений (не только стрелки) в качестве внешних элементов управления. Таким образом, нажав на второй маркер, он перейдет ко второму изображению. Это также хорошо работает, используя btnGo, предоставляемый плагином.

То, что я также хочу сделать, это изменить маркер, выглядящий активным, в зависимости от того, какое изображение я вижу каждый раз. Поэтому, когда я нажимаю на следующую стрелку и вижу второе изображение, я хочу немедленно активировать вторую пулю. Для этого я хочу узнать номер изображения, которое вижу.

Я знаю, что через функцию обратного вызова afterEnd я получаю объект, который активен после анимации. Есть ли способ получить только номер этого объекта? Например, если объектом является второе изображение, нужно получить только число 2.

Кто-нибудь знает что-нибудь об этом?

Заранее спасибо

1 Ответ

1 голос
/ 31 марта 2011

Комментарий # 315 к jCarousel Lite # Все комментарии дал мне этот ответ (который я только что использовал):

В основном он использует замены строк, чтобы получить число элементов управления "active "на основе того, что изображение с аналогичным именем собирается показать.


Предполагается, что у вас есть внешние элементы управления с идентификаторами:" # pi1 ″, "# pi2 ″," # pi3 ″, "# pi4 ″,«# Pi5 ″,« # pi6 ″

И изображения с идентификаторами: «# im1 ″,« # im2 ″, «# im3 ″,« # im4 ″, «# im5 ″,« # im6 »″

Перед тем, как запустить функцию jCarousel Lite, посчитайте количество ли:

var LiCount = $("#projectimage").find("ul").children("li").size();

Добавьте функцию перед запуском:

beforeStart: function(a) {
 var imID = $(a).attr("id").replace('im','';
 var NimID = parseInt(imID);
 NimID++;
 if(NimID > LiCount) NimID = 1;
 $('#pi'+imID).removeClass('activelistlink');
 $('#pi'+NimID).addClass('activelistlink');
}
...