脑筋急转弯:
clientWidth÷boxWidth=cols
为什么cols*boxWidth≠clientWidth
clientWidth÷boxWidth=cols
为什么cols*boxWidth≠clientWidth
2017-07-06
@褪色的自行车 按照老师写的"得出最小列数的函数",是当找到第一个与最小高度相匹配的索引时就直接返回当前索引,所以当第一列有两张高度都为Height的图片时,第七张图片应出现在第一个高度为Height的图片下。
2017-07-05
对,ie9+浏览器才支持getByClassName,顺便说一句,getById的查找效率要比getByClass的高
2017-07-05
已采纳回答 / 暮女神
图片全飞出去的原因是你又把所有的pin遍历了一遍并重新排列,要解决的话需要加个判断,或者重写个函数waterfall2目的是只排列json中的图片,例如这样写:<...code...>num是为了储存原来图片的个数,所以在waterfall()函数中也应声明num=$pins.length;这样就能解决了,不过这样的体验并不好,不如不加动画直接渲染出来.而且你这个代码的bug还是太多,比如在图片排列时如果滑动滚动条就会有多组json图片堆叠,
2017-06-30
apply的用法就是改变当前函数的作用域,改变的是调用这个方法的函数的this值。类似的方法还有bind(),call();主要传的参数和返回值的区别。不明白这个方法,可以对数组进行升序排序,取第一个,就是最小的,也可以。
2017-06-29
@bchao314 getElementsByClassName方法兼容性比较差,IE9以下不支持,可以写一个类似的方法代替getElementsByClassName
2017-06-18
已采纳回答 / 慕粉1711228114
var obj = boxs[index]; var left = obj.offsetLeft; var height1 = obj.offsetHeight;hArr[index]+=height1;貌似height1应该是boxs[i].offsetHeight才对,boxs[index].offsetHeight求的始终是第一行的索引为index的值
2017-06-16