我使用的是jQuery图库插件,拇指都在无序列表中,主图像位于div的右侧。
该插件将“选定”类添加到当前正在显示其主图像的li。一旦插件移动到下一个图像,所选的类将从li中删除并添加到下一个li。
我想影响当前已应用“已选择”类的li。我不能这样做:
$('li.selected').whateverRules();
因为jQuery是动态应用类的,所以类不存在于文档就绪状态,因此它不起作用。
我也无法使用.live()
因为我没有附加事件。那我怎么能用这个呢?
如果动态添加此类,我如何影响当前具有“selected”类的li?
答案 0 :(得分:1)
更改CSS类时无法绑定到事件。也许您可以修改jquery插件以在添加所选类并将其绑定到该事件时触发事件?
如果您有冒险精神,这里是trigger()的链接。 trigger()
答案 1 :(得分:0)
根据您的通话密集程度,您可以始终使用间隔。它不一定是理想的,但可以做你需要的事情:
var selectedInterval = setInterval(function () {
$('li.selected').whateverRules();
}, 100); // adjust timing to fit based on function complexity / timing.
我尝试记住将setInterval的返回值存储到变量中,以防以后需要清除它们。它值得一试,虽然不像我想的那么干净。如果我是你,我会看一下当画廊改变它的选择时会引发的一些事件(应该有一个,我想象)。
答案 2 :(得分:0)
我猜您可以将事件附加到图库的控件中:
jQuery(function($){
$('a.next-image').mouseup(function(){
$('img.selected') ... // what you want.
});
});
我觉得这有点难看,但是没有任何消息来源可以用干净的方式解决。