清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>> 
                    
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="index.css"/>
    <script src="jquery-1.7.1.min.js"></script>
    <script src="index.js"></script>
</head>
<body>
<div>
    <div><img src="imgs/1.jpg" alt=""/></div>
    <div><img src="imgs/2.jpg" alt=""/></div>
    <div><img src="imgs/3.jpg" alt=""/></div>
    <div><img src="imgs/4.jpg" alt=""/></div>
    <div><img src="imgs/5.jpg" alt=""/></div>
    <div><img src="imgs/6.jpg" alt=""/></div>
    <div><img src="imgs/7.jpg" alt=""/></div>
    <div><img src="imgs/8.jpg" alt=""/></div>
    <div><img src="imgs/9.jpg" alt=""/></div>
    <div><img src="imgs/10.jpg" alt=""/></div>
    <div><img src="imgs/11.jpg" alt=""/></div>
    <div><img src="imgs/12.jpg" alt=""/></div>
    <div><img src="imgs/13.jpg" alt=""/></div>
    <div><img src="imgs/14.jpg" alt=""/></div>
    <div><img src="imgs/15.jpg" alt=""/></div>
    <div><img src="imgs/16.jpg" alt=""/></div>
    <div><img src="imgs/17.jpg" alt=""/></div>
    <div><img src="imgs/18.jpg" alt=""/></div>
    <div><img src="imgs/19.jpg" alt=""/></div>
    <div><img src="imgs/20.jpg" alt=""/></div>
    <div><img src="imgs/21.jpg" alt=""/></div>
    <div><img src="imgs/22.jpg" alt=""/></div>
    <div><img src="imgs/23.jpg" alt=""/></div>
    <div><img src="imgs/24.jpg" alt=""/></div>
    <div><img src="imgs/25.jpg" alt=""/></div>
    <div><img src="imgs/26.jpg" alt=""/></div>
    <div><img src="imgs/27.jpg" alt=""/></div>
    <div><img src="imgs/28.jpg" alt=""/></div>
</div>
</body>
</html>
css:
*{
    margin: 0;
    padding: 0;
}
.walterfull{
    position: relative;
}
.box{
    float: left;
    padding: 10px;
    border: 1px solid #ccc;
    margin: 15px 0 0 15px;
    box-shadow: 0 0 5px pink;
}
img{
    width: 180px;
}
js:
/**
 * Created by ll0u on 1/7/2015.
 */
$(window).load(function(){
    walterFall();
    $(window).on('scroll', function(){
        if(checkLoad()){
            var boxList = $('.walterfull>.box');
            $.each(data.imgs, function(index, value){
                var oBox = $('<div>').addClass('box').appendTo($('.walterfull'));
                var oImg = $('<img>').attr('src', value.url).appendTo(oBox);
                minH = Math.min.apply(null, colH);
                minHIndex = $.inArray(minH, colH);
                console.log(minH)
                console.log(boxList.eq(minHIndex).position().left)
                oBox.css({
                    position: 'absolute',
                    top: minH,
                    left: boxList.eq(minHIndex).position().left
                })
                colH[minHIndex] += oBox.outerHeight(true);
            })
        }else{
        }
    })
})
var data = {imgs:
    [
        {url: 'imgs/28.jpg'},
        {url: 'imgs/29.jpg'},
        {url: 'imgs/30.jpg'},
        {url: 'imgs/31.jpg'},
        {url: 'imgs/32.jpg'}
    ]
}
var colH = []; //存放每一列的高度
var minH = 0; //存放最小高度
function walterFall(){
    var oParent = $('.walterfull');
    var boxList = $('.walterfull>.box');
    var screenW = $(window).width();
    var screenH = $(window).height();
    var boxW = boxList.eq(0).outerWidth(true);
    var columns = Math.floor(screenW/boxW);
    var minHIndex = 0; //存放最小高度的列
    oParent.css({
        width: columns * boxW + parseInt($(boxList[0]).css('marginLeft')),
        margin: '0 auto'
    })
    boxList.each(function(index, dom){
        if(index < columns){
            colH.push($(dom).outerHeight(true));
        }else{
            minH = Math.min.apply(null, colH);
            minHIndex = $.inArray(minH, colH);
            $(dom).css({
                position: 'absolute',
                top: minH,
                left: boxList.eq(minHIndex).position().left
            })
            colH[minHIndex] += $(dom).outerHeight(true);
        }
    })
}
function checkLoad(){
    var lastBox = $('.walterfull>.box').last();
    var disT = lastBox.offset().top + Math.floor(lastBox.outerHeight(true)/2);
    var screenT = $(window).height() + $(window).scrollTop();
    return disT<screenT ? true : false;
} 
