動的に読み込まれた画像ギャラリーがあります。各画像には数値のデータ ID があり、昇順で並べ替えたいと考えています。次に、たくさんあるので、n番目の画像ごとに「トップに戻る」ボタンを挿入したいと思います。次のコードは、デスクトップの FF、Chrome、および Safari で機能します。
$(function() {
var Arr = $('.card').get();
var Arr = Arr.sort(function(a,b) {
var aLoc = +$('.ad',a).data('id'),
bLoc = +$('.ad',b).data('id')
return aLoc < bLoc? -1:aLoc > bLoc? 1 :0
})
$('#class').append(Arr);
$('<div class = "top">TOP</div>').insertAfter('#class div:nth-child(4n)');
});
ここでフィドル
ときどき、私が知る限りでは予測できませんが、iOS でも動作しますが、通常は失敗します。insertAfter() の周りに setTimeout() 関数をラップしようとしましたが、違いはありません。
関連性があるかどうかはわかりませんが、配列がソートされてメイン div に追加されると、画像は遅延ロードされます。
どこが間違っていたのか、手がかりがあれば本当に感謝しています。
ありがとう
編集:これは遅延ロード関数です:
$("img.lazy").lazyload({
threshold : 200
});
lazyload プラグインを使用します。作業コードでは、遅延ロード関数が直後に表示されます$('#class').append(Arr);