最新回答 / 慕工程3443729
谢谢,JQuery解决了,但是JS原生的还是有同样的问题,JS原生那里cols本来就是用document获取的啊,var cols = Math.floor(document.documentElement.clientWidth/oBoxW);
2017-07-18
最新回答 / 加咖啡喵
apply()是函数的非继承而来的方法,用途是在指定的作用域中调用函数,实际上等于设置函数体内的this对象的值,第一个参数是运行函数作用域,另一个是参数数组
2017-07-13
已采纳回答 / 酸溜土豆丝3362793
你可以看下前面有个if (i < cols)这里指的是第一行的所有列,当i>cols指的是其他行,oBoxs[i].style.top = minH+'px';是加在其他行上的
2017-07-13
最新回答 / LeftJS
图片路径不对吧!我看你HTML里面的路径是./images,那么jQuery代码里面也应该要一样。var oImg=$("<img>").attr("src","./images/"+$(value).attr("src")).appendTo($(oBox)); 改改路径应该就好了
2017-07-11
最新回答 / 白小九
<...code...>1、找到列高最少的那一列,计算列高和索引:<...code...>2、将图片定位到该列最后那张图片的下方:<...code...>3、加载图片后更新列高:<...code...>
2017-07-07
已采纳回答 / 暮女神
图片全飞出去的原因是你又把所有的pin遍历了一遍并重新排列,要解决的话需要加个判断,或者重写个函数waterfall2目的是只排列json中的图片,例如这样写:<...code...>num是为了储存原来图片的个数,所以在waterfall()函数中也应声明num=$pins.length;这样就能解决了,不过这样的体验并不好,不如不加动画直接渲染出来.而且你这个代码的bug还是太多,比如在图片排列时如果滑动滚动条就会有多组json图片堆叠,
2017-06-30
已采纳回答 / 慕粉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
最新回答 / qq_司徒小石头_03388409
只看图片不能调试,看不出来哪里有问题。有没有报错信息?你的oPic.className = 'pic',是大写,和html里一致吗?多console.log(),看看oImg的src输出是否正确,别的也log()一下看看。
2017-06-12