问题描述
|
我使用的是jQuery画廊插件,大拇指全部在无序列表中,主图像在div中位于右侧。
该插件将类“ selected”添加到当前正在显示其主图像的li中。插件移至下一个图像后,所选类将从li中删除,并添加到下一个li中。
我想影响当前已将类“ selected”应用到它的li。我不能只是这样做:
$(\'li.selected\').whateverRules();
因为jQuery是动态地应用该类,所以从文档就绪状态开始,该类不存在,因此它不起作用。
我也不能使用.live()
,因为我没有附加事件。那么我该如何处理呢?
如果动态添加了此类,那么我该如何影响当前具有“ selected”类的li?
解决方法
更改CSS类后,无法绑定到事件。也许您可以修改jquery插件以在添加所选类并将其绑定到该事件时触发事件?
如果您喜欢冒险的话,这里是trigger()的链接。触发()
,根据通话强度,您可以始终使用间隔。它不一定理想,但是可以满足您的需求:
var selectedInterval = setInterval(function () {
$(\'li.selected\').whateverRules();
},100); // adjust timing to fit based on function complexity / timing.
我试着记得将setInterval的返回值存储到变量中,以防以后需要清除它们。值得一试,尽管还不如我所愿。如果我是您,我会调查画廊改变其选择时触发的某个事件(我想应该是一个)。
,我想您可以将事件附加到画廊的控件上:
jQuery(function($){
$(\'a.next-image\').mouseup(function(){
$(\'img.selected\') ... // what you want.
});
});
我想这有点难看,但是没有任何来源很难以一种干净的方式解决。