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 相关文章推荐
两个比较有用的Javascript工具函数代码
Feb 17 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
深入理解js函数的作用域与this指向
May 28 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
Html5+jQuery+CSS制作相册小记录
Dec 30 Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
Jan 29 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
Vue中的this.$options.data()和this.$data用法说明
Jul 26 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面向对象的使用教程 简单数据库连接
2006/11/25 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
Redis构建分布式锁
2017/03/28 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
Python玩转Excel的读写改实例
2019/02/22 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
Java面试题及答案
2012/09/08 面试题
硕士毕业论文导师评语
2014/12/31 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
高中运动会广播稿
2015/08/19 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库