如何概括以下代码,以便它适用于任意数量的cols?
if (totalColls==4){
$(aclst).eq(0).css({"top":itlh*0+"px", "left":itlwi*0+"px"});
$(aclst).eq(1).css({"top":itlh*0+"px", "left":itlwi*1+"px"});
$(aclst).eq(2).css({"top":itlh*0+"px", "left":itlwi*2+"px"});
$(aclst).eq(3).css({"top":itlh*0+"px", "left":itlwi*3+"px"});
$(aclst).eq(4).css({"top":itlh*1+"px", "left":itlwi*0+"px"});
$(aclst).eq(5).css({"top":itlh*1+"px", "left":itlwi*1+"px"});
$(aclst).eq(6).css({"top":itlh*1+"px", "left":itlwi*2+"px"});
$(aclst).eq(7).css({"top":itlh*1+"px", "left":itlwi*3+"px"});
$(aclst).eq(8).css({"top":itlh*2+"px", "left":itlwi*0+"px"});
$(aclst).eq(9).css({"top":itlh*2+"px", "left":itlwi*1+"px"});
$(aclst).eq(10).css({"top":itlh*2+"px", "left":itlwi*2+"px"});
$(aclst).eq(11).css({"top":itlh*2+"px", "left":itlwi*3+"px"});
}
答案 0 :(得分:1)
这适用于任何数量的行或列。
以下是迭代所有元素时的外观。
$(aclst).each(function(index, element) {
$(element).css({
"top" : (itlh * Math.floor(index / totalColls)) + "px",
"left": (itlwi * index % totalColls) +"px"
});
});