如何将灯箱添加到jquery外部加载的图像?

时间:2010-06-25 14:32:21

标签: jquery lightbox

我使用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()中,现在我需要在下面添加函数,以便动态加载的图像成为lightbox的一部分。

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

正在做的是...调用文件portfolio.php并将#concd中的html加载到用户正在查看的页面中的#content div中。

如果可能,请提供帮助。

1 个答案:

答案 0 :(得分: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(),(没有括号!),否则它实际上正在执行该函数并尝试分配结果回调,而不是函数本身,因此在动画完成时不运行它。