jquery简单瀑布流实现原理及ie8下测试代码
更新时间:2013年01月23日 15:55:42 作者:
可以将分页获取的内容依次填入四个div中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度;测试环境:ie8 ff13.0.1 chrome22有兴趣的朋友可以了解下
测试环境:ie8 ff13.0.1 chrome22
可以将分页获取的内容依次填入四个div中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://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("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
});
}
$(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("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
});
}
}
}
});
});
/*
* 获取指定范围随机数
* @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>
<div id="main">
<div class="flow" ></div>
<div class="flow" ></div>
<div class="flow" ></div>
<div class="flow" ></div>
</div>
</body>
</html>
可以将分页获取的内容依次填入四个div中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://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("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
});
}
$(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("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
});
}
}
}
});
});
/*
* 获取指定范围随机数
* @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>
<div id="main">
<div class="flow" ></div>
<div class="flow" ></div>
<div class="flow" ></div>
<div class="flow" ></div>
</div>
</body>
</html>
相关文章
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
本篇文章主要对jQuery插件imgAreaSelect实现获得选择域的图像信息的方法做了简要分析说明。需要的朋友来看下吧,希望对大家有所帮助2016-12-12
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
这篇文章主要帮大家轻松学习jQuery插件EasyUI,并利用EasyUI实现拖动基本操作,文章并提供了一个学校课程表简单实例,感兴趣的小伙伴们可以参考一下2015-11-11


最新评论