как добавить лайтбокс к изображению, загруженному извне в jquery?

Я загружаю изображения извне с помощью функции загрузки jQuery .. но не могу добавить световой короб ..

я очень новичок в jquery.

var href = $('#images').attr('href');

$('#images').click(function(){
    var toLoad = $(this).attr('href')+' #content';

    $('#content').hide('fast',loadContent);
    $('#load').remove();        
    $('#wrapper').append('<span id="load">LOADING...</span>');
    $('#load').fadeIn('normal');        
    window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-3);    

    function loadContent() {
        $('#content').load(toLoad,'',showNewContent());

    }
    function showNewContent() {
        $('#content').show('normal',hideLoader());
    }
    function hideLoader() {
        $('#load').fadeOut('normal');
    }
    return false;
});

эта функция находится в $ (document) .ready (), и теперь мне нужно добавить функцию ниже, чтобы изображения, динамически загружаемые, стали частью лайтбокса.

    $('.gallery a').lightBox({txtImage: 'Design'})

Что я делаю, так это ... вызываю файл портфолио.php и беру html внутри div #content и загружаю его в div #content на странице, которую просматривает пользователь.

Пожалуйста, помогите с кодом, если возможно.


person Masade    schedule 25.06.2010    source источник


Ответы (1)


Предполагается, что .gallery здесь является потомком #content. Вы должны добавить его к функции showNewContent(), например:

function loadContent() {
    $('#content').load(toLoad,'',showNewContent);

}
function showNewContent() {
    $('#content').find('.gallery a').lightBox({txtImage: 'Design'})
                 .end().show('normal',hideLoader);
}
function hideLoader() {
    $('#load').fadeOut('normal');
}

Обязательно вызывайте showNewContent в качестве обратного вызова, а не showNewContent() (без скобок!), Иначе он фактически выполняет эту функцию прямо сейчас и пытается назначить результат обратному вызову, а не саму функцию, и так не запускать его, когда анимация завершена.

person Nick Craver    schedule 25.06.2010