【发布时间】:2012-04-26 09:11:34
【问题描述】:
这个真的让我大吃一惊。我有可变数量的图像以 5 个为一组加载到页面中。在页面加载时,我尝试加载前 5 个,之后的每个组都将通过单击链接添加。
我的逻辑是这样的:
在页面加载
上创建一个包含所有列表元素的数组
将数组的前 10 个传递给一个函数,该函数将 li 转换为图像并在 窗口加载
时将其淡入页面
在用户点击加载更多按钮时从数组中传递额外的 5 组
我的代码不遵循上述逻辑但确实转换了 li 并将它们淡入如下:
在 jsfiddle 上查看完整的评论混乱: http://jsfiddle.net/danielredwood/qntMg/
感谢您的帮助!
function buildImg() {
$('.userGallery li').each(function(){
var loc = $(this).find('a').attr('href'),
ttl = $(this).find('a').attr('title'),
img = $('.userGallery').append($('<img/>', { class: 'user', src: loc, alt: ttl })),
usr = $('.user');
$(this).remove();
usr.each(function(i){
$(this).delay(200*i).animate({ opacity:1 },400);
});
});
}
var elm = $('.userGallery li'),
cnt = 0,
tns = [];
for(i=0;i<elm.length;i++){
if(cnt==10){
buildImg(tns);
tns=[];
}
tns[cnt++]=elm[i].image;
}
buildImg(tns);
【问题讨论】:
-
您的具体问题是什么?什么有效?什么不起作用?您具体需要哪些帮助?
-
我没有达到预期的效果。因此,首先,我如何创建一个图像数组并将其传递给 buildImg()?那么,如何重写 buildImg() 使其仅在数组结果上运行?
标签: jquery arrays image window fade