У меня есть галерея изображений, которая обменивается изображениями, и я хочу связать замененное изображение, чтобы оно получилось еще больше в shadowbox / lightbox. Я близок, у меня возникли проблемы с тем, как добавить ссылку. Он пошел бы туда, где у меня сейчас появляется окно с предупреждением. Вот страница, если вы хотите увидеть ее до сих пор: http://site.jpda.biz/projects/boerum-hill-house
Я думаю, что это действительно просто, но я только что ударил об стену. ТИА.
function showImage(src)
{
$("#loader img").fadeOut("slow")
.remove();
var largeImage = new Image();
$(largeImage).attr("src", src)
.attr("id", "main")
.load(function()
{
$(largeImage).hide();
$("#loader").removeClass("loading")
.append(largeImage);
$(largeImage).fadeIn("slow");
$("#loader img").click(function()
{
alert("Launch Shadowbox here");
});
});
ОБНОВЛЕНИЕ 11/23
Основываясь на ответе «Трюки», я смог найти хороший способ исправить мою проблему. Я начал с его решения (построил новый DIV), и это привело меня к функции wrap , которую я сейчас использую. Я был в состоянии использовать функцию обтекания и не должен был создавать целый DIV. Вот мой обновленный код (включает возможность передачи заголовка по ссылке).
function showImage(src,tit)
{
$("#loader img").fadeOut("slow")
.remove();
$("#loader a").remove();
var largeImage = new Image();
var largePath = "/files/imagecache/project_large/" + src;
var largeLink = "<a rel='shadowbox' title='" + tit + "' href='/files/" + src + "'></a>";
$(largeImage).attr("src", largePath)
.attr("id", "main")
.attr("border", "0")
.load(function()
{
$(largeImage).hide();
$("#loader").removeClass("loading")
.append(largeImage);
$("#main").wrap(largeLink);
$(largeImage).fadeIn("slow");
});
}