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下操作HTML控件的实现代码
Jan 12 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 Javascript
跟我学习javascript的闭包
Nov 16 Javascript
浅谈javascript的call()、apply()、bind()的用法
Feb 21 Javascript
基于javascript实现简单的抽奖系统
Apr 15 Javascript
原生js的数组除重复简单实例
May 24 Javascript
jquery把int类型转换成字符串类型的方法
Oct 07 Javascript
收藏AngularJS中最重要的核心功能
Jul 09 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
在vue中使用setInterval的方法示例
Apr 16 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
js点击选择文本的方法
2015/02/09 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
原生JS实现留言板
2020/03/26 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
Python中的集合介绍
2019/01/28 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
上课不认真检讨书
2014/09/17 职场文书
学雷锋倡议书
2015/01/19 职场文书
2015年服务员工作总结
2015/04/08 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android