У меня проблема с некоторым кодом, который я запрограммировал. Идея состоит в том, чтобы создать собственный «лайтбокс» с помощью jQuery. Когда я нажимаю на миниатюру, код просматривает div, который имеет атрибуты «data-first-img-url», «data-second-img-url» и «data-therth-img-url» — эти атрибуты содержат URL-адреса, которые становятся фоновым изображением всплывающей галереи.
ОДНАКО, проблема, с которой я сталкиваюсь, заключается в том, что когда я закрываю всплывающее окно и нажимаю, чтобы открыть его снова, изображения появляются дважды.
Вот мой jQuery:
$('.gallery').click(function() {
$('#overlay').fadeIn().append('<div class="main_image"></div><div class="second_image"></div><div class="third_image"></div>');
$main_img_url = $(this).attr('data-first-img-url');
$second_img_url = $(this).attr('data-second-img-url');
$third_img_url = $(this).attr('data-third-img-url');
$('.main_image').css("background-image", "url('" + $main_img_url + "')");
$('.second_image').css("background-image", "url('" + $second_img_url + "')");
$('.third_image').css("background-image", "url('" + $third_img_url + "')");
});
$(".close_gallery").click(function() {
$('#overlay').fadeOut();
});
И JSfiddle (упрощенный) здесь: http://jsfiddle.net/9d9sz/3/
Вы можете видеть, что когда вы нажимаете на изображение один раз, оно работает нормально, но затем закрываете всплывающее окно и снова открываете, и оно появляется дважды.