jquery简单瀑布流实现原理及ie8下测试代码


Posted in Javascript onJanuary 23, 2013

测试环境: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>
Javascript 相关文章推荐
JS宝典学习笔记(下)
Jan 10 Javascript
jQueryUI如何自定义组件实现代码
Nov 14 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
Bootstrap菜单按钮及导航实例解析
Sep 09 Javascript
JS设计模式之单例模式(一)
Sep 29 Javascript
浏览器调试动态js脚本的方法(图解)
Jan 19 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
JavaScript实现拖动对话框效果的实现代码
Oct 12 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
Jan 23 #Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 #Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
Jan 23 #Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 #Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 #Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 #Javascript
js jquery验证银行卡号信息正则学习
Jan 21 #Javascript
You might like
模仿OSO的论坛(五)
2006/10/09 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
javascript实现表单验证
2016/01/29 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
vue页面切换过渡transition效果
2018/10/08 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
python 文件与目录操作
2008/12/24 Python
Python中无限元素列表的实现方法
2014/08/18 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
python的setattr函数实例用法
2020/12/16 Python
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
创业计划书如何吸引他人眼球
2014/01/10 职场文书
优秀护士获奖感言
2014/02/20 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
少年犯观后感
2015/06/11 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android