为了账号安全,请及时绑定邮箱和手机立即绑定

js瀑布流,寻找最小高度的一点疑问。

js瀑布流,寻找最小高度的一点疑问。

沧海一幻觉 2018-10-10 13:26:56
//获取到所有的ulvar ulArr = document.querySelectorAll('ul');function crearteImg (count) {    //循环创建    for (var i = 0; i < count.length; i++) {        var img = document.createElement('img');        img.src = 'girl/' + count[i] + '.jpg';        var li = document.createElement('li');        li.appendChild(img);        //假设一个最短的ul        var minHeightUl = ulArr[0];        //循环找到每次最短的然后添加图片        for (var j = 0; j < ulArr.length; j++) {            if (minHeightUl.offsetHeight > ulArr[j].offsetHeight) {                minHeightUl = ulArr[j];            }        }        minHeightUl.appendChild(li);    }}在这个函数中,minHeightUl.offsetHeight > ulArr[j].offsetHeight这一句百思不得其解,高度最小的那个ul不是应该比数组中循环出来的任意ul都小吗?为什么会用大于符号呢?如果要表示的是“ulArr中任意ul的高度都大于循环出的最小值”为什么要用minHeightul这个变量?
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

先将minHeightUl的设成ulArr[0],如果ulArr数组中其他元素的offsetHeight比之前设置的最小值小,就把该元素赋值给minHeightUl,这个思路没有问题。
这样for循环下来,只要有元素的offsetHeight比赋值好的minHeightUl的offsetHeight小,肯定会被重新赋值给minHeightUl。

查看完整回答
反对 回复 2018-11-11
  • 1 回答
  • 0 关注
  • 530 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信