【发布时间】:2015-07-17 04:15:22
【问题描述】:
我正在使用一个名为 cycle2 (http://jquery.malsup.com/cycle2/) 的 jQuery 插件,并且我想在特定幻灯片处于活动状态时定位不同的元素。
简而言之,它是一个图片幻灯片,底部有相应的图像作为导航栏。导航栏图像是黑白的,但是当该特定图像的幻灯片处于活动状态时,我希望导航栏以彩色显示。
循环滑块将一个名为 cycle-slide-active 的类应用于活动的幻灯片,然后在移动到下一张幻灯片时将其移除。
我可以通过使用脏的无限循环来检查类与分配给它的 ID 是否相符,如下所示:
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。
我想添加一个事件侦听器,以便在幻灯片循环时触发该函数,但我似乎无法针对此行为。
任何想法将不胜感激。
【问题讨论】:
标签: javascript jquery addeventlistener event-listener cycle2