我正在尝试解决一些客户要求的不同fancybox样式之间的不一致性。
我似乎找不到通过类或ID等方式区分哪个fancybox是打开状态的方法。
有没有什么办法可以实现这个需求?
Fancybox 2提供了一个wrapCSS
选项,它允许您为样式添加自定义类到灯箱中。
就像这样:
$(".fancybox").fancybox();
$(".photo").fancybox({
wrapCSS : 'photo-lightbox-class'
});
$(".video").fancybox({
wrapCSS : 'video-lightbox-class'
});
您可以使用对fancybox()的单独调用和onX参数来实现此目的。例如:
$('.ProductThumbImage a').fancybox({
padding: 30,
margin: 0,
autoScale: true,
onStart: function() {
$('#fancybox-content').css('padding', '8px');
},
onClosed: function() {
$('#fancybox-content').css('padding', '0');
}
});
显然所有实例都使用相同的fancybox,因此您可以根据单击的链接添加/删除样式或类。
this.element
访问元素以进行一些自定义。 - Janis
.fancybox-wrap
,而不仅仅是遵循属性名称的CSS样式。所以也许开发人员可以将其命名为addClass
,以使其更清晰。 - vladkras