2

クリック時に自分のウェブサイトの画像を表示するために lightgallery プラグインを使用しています。ライトギャラリーを次のように初期化しました

$(document).ready(function(){
    $('#lightgallery').lightGallery({
        selector: '.item'
    });
});

ドキュメントのロードで、正常に動作します。問題は、より多くの画像を読み込み、jquery を使用してそれらを追加するときに、ライトギャラリーを再度初期化して、ajax 呼び出しによって読み込まれた iamges を処理することです。しかし、ライトギャラリーは彼らのために働いていません。ページの読み込み時に読み込まれる画像に対してのみ機能します。

4

2 に答える 2

6

これは役立つかもしれません:

function createLightGallery()
{
    $('#lightgallery').lightGallery({
        selector: '.item'
    });
}

// on document load
$(document).ready(function(){
    createLightGallery();
});

// on the AJAX request
$.ajax({ 
    url: "/get_images",
    .
    .
    success: function()
    {
         if("#lightgallery").data("lightGallery"))
             $("#lightgallery").data("lightGallery").destroy(true);
         createLightGallery();
    }
});
于 2016-10-14T08:50:42.483 に答える
0

これは、ajaxで機能する私の答えです

成功: 関数() {

//destroy your lightgallery
 try{ $('#lightgallery').lightGallery(); $('#lightgallery').data('lightGallery').destroy(true); }catch(ex){};

//and then re-initiate gallery again
$('#lightgallery').lightGallery({
    selector: '.item'
});

}

于 2019-10-10T02:45:44.077 に答える