我有一个动态加载的图片库。每个图像都有一个数字数据 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
});
它使用延迟加载插件。在工作代码中,延迟加载功能紧随其后$('#class').append(Arr);