腦筋急轉彎:
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