JQ瀑布流

;(function($){
$.fn.picComplete = function(time,fn){
var that = this;
var timer = setInterval(function(){
var imgCount = that.length;
var hCount = 0;
that.each(function(i,obj){
if($(obj).height() != 0){
hCount++;
}
});
if(hCount == imgCount){
clearInterval(timer);
fn(that);
}
},time);
return this;
}
})(jQuery);

////////////////////////////////
$(function(){
getData();
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() >= $(document).height()){
getData();
}
});

$(window).resize(function(){
waterfall();
});


function waterfall(){
var col = parseInt($("#container").width() / (236 + 12));

var centerLeft = ($(window).width() - (248 * col - 12)) / 2;
$("#container").css("left",centerLeft);

var chArr = [];

$("li").picComplete(50,function(elements){
elements.each(function(i,obj){
if((i+1) > col){
var minHeight = Math.min.apply(null,chArr);
var minIndex = chArr.indexOf(minHeight);
$(obj).stop().animate({left:minIndex*248,top:minHeight + 12},400);
chArr[minIndex] += $(obj).height() + 12;
}
else{
$(obj).stop().animate({left:i*248,top:12},400);
chArr.push($(obj).height() + 12);
}
});
});
}

function getData(){
$.get("data.json",function(data){
$.each(data,function(i,obj){
$("<li><img src=\"img/"+obj.img+"\"></li>").appendTo("ul");
});
waterfall();
});
}
});
posted @ 2016-09-24 10:17  莫尘y  阅读(83)  评论(0编辑  收藏  举报