Добавить ссылку на замененное изображение - PullRequest
2 голосов
/ 22 декабря 2008

У меня есть галерея изображений, которая обменивается изображениями, и я хочу связать замененное изображение, чтобы оно получилось еще больше в 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");
            });              
}

1 Ответ

1 голос
/ 22 декабря 2008

То, что вы хотите сделать, это на самом деле поменять местами div, а не просто теги img, и сгенерировать div с ссылкой вокруг изображения, на которое оно будет меняться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...