我试图编写代码来显示来自JSON文件中CMS的图像。
JSON文件就像这样
{
"images": [
{"title": "Image One", "url": "image1.jpg"},
{"title": "Image Two", "url": "image2.jpg"},
{"title": "Image Three", "url": "image3.jpg"},
{"title": "Image Four", "url": "image4.jpg"},
{"title": "Image Five", "url": "image5.jpg"}
]
}
HTML就是这个
<ul id="mylist"></ul>
正在加载的图像数量是动态的。它可以是3,4或5中的任何一个。这里是布局应该如何看待每个。
有没有人知道如何使用JavaScript,jQuery,胡子等实现这一目标
答案 0 :(得分:2)
这听起来像是基本的数学,如果你有偶数个图像,你想要两列,如果你有三列的奇数图像。
一旦知道列数,获取行数只需要划分和舍入
var numb = obj.images.length;
var cols = numb % 2 === 0 ? 2 : 3;
var rows = Math.ceil(numb / cols);
将其更改为宽度很容易
var numb = obj.images.length;
var width = numb % 2 === 0 ? '50%' : '33%';
$('.images').css('width', width)