我想一步一步地通过图像索引。
到目前为止我得到的是
availableImgs = [ <?php foreach($ photos as $ photo):?> {desc:’‘,src:’<?php echo …
var imgIdx = availableImgs.length; 将为您提供数组中的项目数(例如10)。
var imgIdx = availableImgs.length;
但是数组是零索引的,所以如果它是10项数组,则最后一项是 availableImgs[9] 不是 availableImgs[10] 。 availableImgs[10] 不存在。
availableImgs[9]
availableImgs[10]
另外我认为你应该使用 availableImgs[i] 在你的设置中,在for循环中 imgIdx 每次迭代到数组的长度,所以你将在for循环的每次迭代中查看相同的数组索引?
availableImgs[i]
imgIdx
这可能会更好:
function addSomeImages(limit) { for (var i = 0; i < limit; i++) { $('#endless-gallery').append('<a data-lc-href="' + availableImgs[i].src + ', ' + availableImgs[i].srcset + '" data-rel="lightcase:gallery-<?php echo $number; ?>">' + '<img src="' + availableImgs[i].src + '" srcset="' + availableImgs[i].srcset + '" srcset="' + availableImgs[i].sizes + '" />' + '</a>'); } }
的 编辑: 强>
添加“从图像编号开始?”根据注释选项,一个选项是通过限制传递起始节点值,例如:
获得前20个结果:
addSomeImages(20,0);
获得第二个20个结果:
addSomeImages(20,20);
但这可能效率不高......可能更好的是用最后一个值更新一些全局变量 i 循环结束后,将其用作下一个值 i ,下次运行该功能时:
i
globalCounterForI = 0; function addSomeImages(limit) { for (var i = globalCounterForI; i < limit + globalCounterForI; i++) { $('#endless-gallery').append('<a data-lc-href="' + availableImgs[i].src + ', ' + availableImgs[i].srcset + '" data-rel="lightcase:gallery-<?php echo $number; ?>">' + '<img src="' + availableImgs[i].src + '" srcset="' + availableImgs[i].srcset + '" srcset="' + availableImgs[i].sizes + '" />' + '</a>'); } globalCounterForI = ++i; }