在prettyPhoto changePictureCallback函数中,我想知道哪个灯箱当前是打开的。目前我正在这样做:
$("a[rel^='prettyPhoto']").prettyPhoto({
deeplinking : false,
counter_separator_label : ' of ',
gallery_markup : '',
social_tools : '',
slideshow : false,
changepicturecallback: function(){
//do stuff
id_to_find = $(".active_lightbox").attr('href');
},
opacity : 0.29
}).click(function(){
$(this).addClass('active_lightbox');
});
这样,当点击锚点时,会将active_lightbox置于其上。
但是,这并不是很好。我最终可能有多个active_lightbox元素,而且,如果我使用灯箱库中的下一个按钮,它不会将该类放在“active_lightbox”上。
那么,如何判断当前使用jquery / js打开哪个灯箱?
答案 0 :(得分:1)
这里有几个选项,但跳出来的那个:
看起来您正在尝试使用<a rel="prettyPhoto##">
,其中##
是图库或照片编号?如果是这种情况,我建议这样的事情:
$("a[rel^='prettyPhoto']").each(function(index, elm)
var $elm = $(elm);
// an arbitrary ID based on its order in the DOM
var photo_id = index;
// returns the ## from rel="prettyPhoto##"
var gallery_id = $(elm).attr('rel').replace("prettyPhoto", "");
$elm.prettyPhoto({
...
changepicturecallback: function(){
// do stuff
// photo_id
// gallery_id
// elm and $elm
},
...
});
或您可以添加更多标记,但通过使用data-
标记可以更精确。
<强>资源强>