欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery简单瀑布流实现原理代码学习

程序员文章站 2024-02-09 18:27:16
测试环境:ie8 ff13.0.1 chrome22 可以将分页获取的内容依次填入四个p中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度 . 代码如下: <...

测试环境:ie8 ff13.0.1 chrome22
可以将分页获取的内容依次填入四个p中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度

. 代码如下:


<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
"https://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>waterfall flow</title>
<script type="text/javascript" src="../jquery-1.8.0.min.js" /></script>
<style type="text/css" >
body{margin:0px;}
#main{width:840px;margin:0 auto;}
.flow{float:left;width:200px;margin:5px;background:#abc;}
</style>
<script type="text/javascript" >
$(document).ready(function(){
// 初始化内容
for(var i = 0 ; i < 3 ; i++){
$(".flow").each(function(){
$(this).append("<p style=\"width:90%;height:"+getrandom(200,300)+"px;margin:5px auto;background:#159;\"></p>");
});
}

$(window).scroll(function(){
// 被卷去的高度
var scrolltop = document.body.scrolltop||document.documentelement.scrolltop;
// 页面高度
var pageheight = $(document).height();
// 可视区域高度
var viewheight = $(window).height();
//alert(viewheight);
//当滚动到底部时
if((scrolltop+viewheight)>(pageheight-20)){
if(scrolltop<1000){//防止无限制的增长
for(var i = 0 ; i < 2 ; i++){
$(".flow").each(function(){
$(this).append("<p style=\"width:90%;height:"+getrandom(200,300)+"px;margin:5px auto;background:#159;\"></p>");
});
}
}
}
});
});
/*
* 获取指定范围随机数
* @param min,最小取值
* @param max,最大取值
*/

function getrandom(min,max){
//x上限,y下限
var x = max;
var y = min;
if(x<y){
x=min;
y=max;
}
var rand = parseint(math.random() * (x - y + 1) + y);
return rand;
}
</script>
</head>
<body>
<p id="main">
<p class="flow" ></p>
<p class="flow" ></p>
<p class="flow" ></p>
<p class="flow" ></p>
</p>
</body>
</html>