Я использую подключаемый модуль jQuery под названием cycle2 (http://jquery.malsup.com/cycle2/) и я хочу настроить таргетинг на другой элемент, когда конкретный слайд активен.
В двух словах, это слайд-шоу с соответствующими изображениями в виде панели навигации внизу. Изображения панели навигации черно-белые, но когда слайд активен для этого конкретного изображения, я хочу, чтобы панель навигации отображалась в цвете.
Ползунок цикла применяет класс с именем cycle-slide-active
к активному слайду, а затем удаляет его при переходе к следующему слайду.
Я могу заставить его работать, используя грязный бесконечный цикл для проверки класса по идентификатору, которому он назначен, следующим образом:
function checkForChanges() {
var slide = jQuery('.cycle-slide-active:first').attr('id');
var active
if ( slide == s1) {
active = s1;
} else if ( slide == s2 ) {
active = s2;
} else if ( slide == s3 ) {
active = s3;
} else if ( slide == s4 ) {
active = s4;
}
jQuery('.celeb-button').css('opacity', 0);
jQuery('.celeb-button-'+active).css('opacity', 1);
setTimeout(checkForChanges, 500);
}
Однако я знаю, что бесконечный цикл, подобный этому, неверен, и это также означает, что я не могу использовать эффект наведения, чтобы вывести цвет, поскольку бесконечный цикл постоянно меняет непрозрачность обратно на 0.
Я хочу добавить прослушиватель событий, чтобы функция запускалась в цикле слайдов, но, похоже, я не могу ориентироваться на это поведение.
Любые идеи очень приветствуются.