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 相关文章推荐
jQuery 处理网页内容的实现代码
Feb 15 Javascript
关于跨站脚本攻击问题
Dec 22 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
Aug 13 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
Vue概念及常见命令介绍(1)
Dec 08 Javascript
小程序兼容安卓和IOS数据处理问题及坑
Sep 18 Javascript
vue项目中使用fetch的实现方法
Apr 25 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 Javascript
解决Vue大括号字符换行踩的坑
Nov 09 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 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
php Memcache 中实现消息队列
2009/11/24 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
理解javascript正则表达式
2016/03/08 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
Python常见数据结构详解
2014/07/24 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
python实现接口并发测试脚本
2019/06/25 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python进行参数传递的方法
2020/05/12 Python
Python连接mysql方法及常用参数
2020/09/01 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
外包公司软件测试工程师
2014/11/01 面试题
药学专业个人的自我评价
2013/12/31 职场文书
打架检讨书500字
2014/01/29 职场文书
宣传口号大全
2014/06/16 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2014年秘书工作总结
2014/11/25 职场文书
计算机教师工作总结
2015/08/13 职场文书
毕业设计工作总结
2015/08/14 职场文书
妇产科护理心得体会
2016/01/22 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技