私はcmsによって生成された一連のthumnailsを持っています。これらは、フルイメージを含むポップアップウィンドウにリンクされています。私がやりたいことは、jqueryを使って完全な画像を取得してレイジーローディングスライダーを作成することです。別のページのsrcを使ってimgを追加する
基本的には、サムネイルをリンク先にして、そこに完全な画像を見つけるだけです。
私がそれを動作させる唯一の方法は、それが完了するまでそれをチェックし続けることです。
srcを取得するイメージがロードされているため、これが意図したとおりに動作しないことがわかりました。これは、無駄なロードを無駄にします...これには何らかの解決策がありますか? $は(取得ので、私は、私はそれがすべて間違ってやっていたが実現
$('.thumbnails img').each(function() {
var large = $(this).parent().attr('href');
$.get(large, function(data) {
var imgs = $('<div/>').html(data).find('img');
var src = "";
imgs.each(function(i, img) {
src = (img.src);
});
$('.slider').append('<div><img data-lazy="' + src + '"/></div>');
});
});
var checkExist = setInterval(function() {
if($('.slider').find('img').length == $('.thumbnails').find('img').length){
$('.slider').slick({
lazyLoad: 'ondemand',
});
clearInterval(checkExist);
};
}, 100);
これは機能しますが、画像が追加される前にスライダが初期化されています。あなたは修正する方法を知っていますか? – user500665
画像を追加した後にスライダの初期化を行います(ajax get内)。編集された回答を確認してください。 –
この問題は、最初のイメージの後に初期化され、すべてのイメージが完了した後に発生する必要があることです。 – user500665