20天的工作总结

最近做了一个项目。没有给具体完成时间,结果我就做了20多天,其实大部分是每天三四个小时。

里面的知识点还需要总结一下:

1.    CORSCross-Origin Resource Sharing,跨域资源共享)

2.    Jsonparse  stringfy

3.    数组的去重复

var hash = {},newArr = [];

if(!hash[str]){

newArr.push(str);

hash[str] = true;

}

4.    数组去重后其他合并成子项obj。没有想到最优的办法,获取i然后重新循环,arr.slice(i,i+1) 选取其中一些部分

5.    5个数组合并成一个字符串,用了do…while ,arr.splice(0,5).join(“”)

用do...while 操作里面的数组,数组会发生变化(如果注释不去掉的话,splice两下,数组会发生变化)

do{
      //arr2.push(Math.max.apply(null,arr.splice(0,5)))
      totalHeight += Math.max.apply(null,arr.splice(0,5)) + 5;
}
 while(arr.length>0)

6.    页面滚动到最下的计算

7.    srcoll  resize的时候用到的 throttle (debounce 与其相关)

8.    判断图片是否加载完成 ie: onreadState  ; other: onload。并且图片加载完毕也是在for循环 ++到最后一条后,再执行其他function

20131113

9.又改成了瀑布流,位置的计算(主要是第二个for循环的写法)

function sort(arr){
            var top, column , gap = 20 , num = 4;
            for(var i = 0 ; i < arr.length ; i++){
                column = i%num;
                var left = column*(arr[i].offsetWidth+gap);  //假如宽度不统一 也不能这样做
                arr[i].style.left = left+"px";
                top = 0;  //原来就是因为这个没有循环的时候变成0
                if(i < num){        
                    arr[i].style.top = "0px";
                }else{
                    for(var j = column ; j < i ; j = j + num){
                        top = top + arr[j].offsetHeight;
                    }
                    arr[i].style.top = top+"px";
                }
               }
        }

 
 
原文地址:https://www.cnblogs.com/della/p/3297791.html