Я хочу показать большое изображение, когда нажимаю на маленькую миниатюру.Простой скрипт стиля Lightbox.
Когда я нажимаю на прозрачную серую область наложения вокруг изображения, CSS и изображение удаляются из вида.Этот код урезан.Может быть, что-то пропустил ...
$(document).ready(function() {
$(".lightBobo").click(function(e) {
e.preventDefault(); // prevent to open link in new window
$(this).lightBobo();
});
});
jQuery.fn.lightBobo = function(e) {
if (e != undefined)
e.preventDefault();
return this.each(function() {
var img = new Image();
$(img).load(function() {
imgW = img.width;
imgH = img.height;
var overlay = $("<div />");
var container = $("<div />");
// Lots of css styling for <div> overlay and container image...
container.append(img); //add image to div
$("body").append(overlay); //add overlay to body
$("body").append(container); //add div to body
overlay.fadeIn("fast", function() {
container.show();
});
$(overlay).click(function() {
removeDivs();
});
function removeDivs() {
container.hide();
overlay.fadeOut("fast");
img = null;
container = null;
overlay = null;
openImgSrc = "";
}
});
});
}
Проблема в том, что IE (7) не показывает изображение во второй раз, когда я хочу его показать.Я должен сделать перезагрузку страницы, чтобы снова отобразить изображение.Это работает в FF.
Когда я использую FireFox, я вижу в FireBug, к чему добавляется каждый раз, когда я показываю большое изображение.И отображение «старого» изображения get: нет;После 20 раз, когда я показываю большое изображение, у меня есть 40 элементов Overlay и Container (image).
Я не могу понять, как запустить функцию lightBobo при необходимости.Так что работает как в IE, так и в FF.