Jquery - возникают проблемы при извлечении атрибута из изображения и применении к элементу - PullRequest
2 голосов
/ 19 февраля 2010

Я делаю лайтбокс, я следовал инструкциям, чтобы продвинуться так далеко, и я так близко. У меня проблемы с этой строкой:

}).attr('src', 'imghref');

если я заменю «imghref» на «images / Watercolor.jpg», тогда он будет работать нормально, но я хочу, чтобы «imghref» был ссылкой, по которой пользователь нажимает.

Моя вторая проблема заключается в том, что если я заменю «imghref» на «images / Watercolor.jpg» (для целей тестирования), то когда я обновляю страницу, он автоматически загружает изображение, и я не нажимал на ссылку, но я хочу, чтобы изображение загружалось только тогда, когда пользователь нажимает на ссылку. ARRGGG !!!! * * 1006

    $(function (){
    $('a').click(function() { 
    var imghref = $(this).attr("href");
    loadImage();
    return false;
    });
});


$(function loadImage() {
    var img = new Image();
    $(img).load(function () {
        $(img).hide();
        $('#loader').removeClass('loading').append(img);
        $(img).fadeIn('slow');
    }).error(function () {

    }).attr('src', 'imghref');

});

Ответы [ 3 ]

5 голосов
/ 19 февраля 2010

Вы присваиваете фактический 'imghref' как текст, поскольку вы заключаете его в одинарные кавычки, а не содержимое переменной ..

сделай так

.attr('src', imghref)

1 голос
/ 19 февраля 2010

Похоже, вы используете 'imghref' как строковую константу в loadImage ().Уберите кавычки, чтобы вместо них использовать значение переменной.

$('a').click(function() { 
    var imghref = $(this).attr("href");
    loadImage();
    return false;
});

$(function loadImage() {
    var img = new Image();
    $(img).load(function () {
        $(img).hide();
        $('#loader').removeClass('loading').append(img);
        $(img).fadeIn('slow');
    }).error(function () {

    }).attr('src', imghref);

});
1 голос
/ 19 февраля 2010

Передайте переменную в функцию загрузки и используйте ее как переменную вместо строковой константы.Кроме того, убедитесь, что вы объявляете loadImage в глобальной области видимости или в той же области, в которой оно используется.

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