Я думаю, что есть простое решение, но я НЕ являюсь моей сильной стороной. Это часть скрипта, созданного для обмена изображениями вариантов продукта (превью) в электронной коммерции WP.
Мои эффекты лайтбокса работают для основного изображения продукта, но я не могу заставить его работать с замененными миниатюрами (которые отображаются / скрываются простым добавлением / удалением скрытого класса с помощью JS).
Как я могу добавить rel = "lightbox" к ссылке в замененных изображениях? Смотрите код ниже:
jQuery(function($){
$("div.wpsc_variation_forms select.wpsc_select_variation").change(function() {
var productForm = $(this).parents("form.product_form");
var data = {
action: 'get_variation_image_url',
form_values: $("input[name=product_id],div.wpsc_variation_forms select.wpsc_select_variation", productForm).serialize()
};
var productColumn = productForm.parent(".productcol");
var imageColumn = productColumn.siblings("div.imagecol");
imageColumn.css("opacity", 0.5);
jQuery.post(wpsc_ajax.ajaxurl, data, function(response) {
var data = $(response.split(/\n/));
if(response == ""){
data = $([]);
}
var images = imageColumn.children();
if(images.length == 0){
imageColumn.css("opacity", 1);
return;
}
var hiddenImages = images.filter(".hidden");
var visibleImages = images.not(".hidden");
var imageColumnContainsVariationImages = hiddenImages.length > 0;
if(imageColumnContainsVariationImages){
var variationImages = visibleImages;
variationImages.remove();
} else {
var originalImages = visibleImages;
originalImages.hide().addClass("hidden");
}
var newVariationImageShouldBeAdded = data.length > 0;
if(newVariationImageShouldBeAdded){
data.each(function(){
var imageUrl = this.split("***");
var imageLink = images.first().clone(true).removeClass("hidden");
imageLink.attr("href", imageUrl[0]);
var image = imageLink.find("img");
image.removeAttr("src");
image.attr("src", imageUrl[1]);
imageLink.show().appendTo(imageColumn);
});
} else {
images.show().removeClass("hidden");
}
imageColumn.css("opacity", 1);
});
});
});
Заранее большое спасибо, ты лучший!