jquery实现简单瀑布流代码

测试环境:ie8 ff13.0.1  chrome22

可以将分页获取的内容依次填入四个div中,瀑布流的分页可以以多页(比如5页)为单位二次分页,这样可以减少后台算法的复杂度

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <title>waterfall flow</title>
  7. <script type="text/javascript" src="../jquery-1.8.0.min.js" /></script>
  8. <style type="text/css" >
  9. body{margin:0px;}
  10. #main{width:840px;margin:0 auto;}
  11. .flow{float:left;width:200px;margin:5px;background:#ABC;}
  12. </style>
  13. <script type="text/javascript" >
  14. $(document).ready(function(){
  15. // 初始化内容
  16. for(var i = 0 ; i < 3 ; i++){
  17. $(".flow").each(function(){
  18. $(this).append("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
  19. });
  20. }
  21. $(window).scroll(function(){
  22. // 被卷去的高度
  23. var scrollTop = document.body.scrollTop||document.documentElement.scrollTop;
  24. // 页面高度
  25. var pageHeight = $(document).height();
  26. // 可视区域高度
  27. var viewHeight = $(window).height();
  28. //alert(viewHeight);
  29. //当滚动到底部时
  30. if((scrollTop+viewHeight)>(pageHeight-20)){
  31. if(scrollTop<1000){//防止无限制的增长
  32. for(var i = 0 ; i < 2 ; i++){
  33. $(".flow").each(function(){
  34. $(this).append("<div style=\"width:90%;height:"+getRandom(200,300)+"px;margin:5px auto;background:#159;\"></div>");
  35. });
  36. }
  37. }
  38. }
  39. });
  40. });
  41. /*
  42. * 获取指定范围随机数
  43. * @param min,最小取值
  44. * @param max,最大取值
  45. */
  46. function getRandom(min,max){
  47. //x上限,y下限
  48. var x = max;
  49. var y = min;
  50. if(x<y){
  51. x=min;
  52. y=max;
  53. }
  54. var rand = parseInt(Math.random() * (x - y + 1) + y);
  55. return rand;
  56. }
  57. </script>
  58. </head>
  59. <body>
  60. <div id="main">
  61. <div class="flow" ></div>
  62. <div class="flow" ></div>
  63. <div class="flow" ></div>
  64. <div class="flow" ></div>
  65. </div>
  66. </body>
  67. </html>
时间: 2024-10-04 07:13:17

jquery实现简单瀑布流代码的相关文章

jquery实现的瀑布流代码实例

jquery实现的瀑布流代码实例:瀑布流现在很多网站都有应用,本站的特效下载专区也有应用,图片的加载会根据下拉条滚动实现的,实现了需要多少加载多少的功能,可以有效的提高网站的执行效率,下面是一段网络上的代码实例,供大家参考.代码实例如下: function lazyload(option){ var settings = { defObj: null, defHeight: 0 }; settings = $.extend(settings, option || {}); var defHeig

jquery 瀑布流代码 [简约]

HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>瀑布流代码</title> <link rel="stylesheet" type="text/css" href="static/css/style.css"> </

ios图片瀑布流代码

ios瀑布流,实现简单的瀑布流视图布局,可以显示网络图片,下拉刷新,上拉加载更多. 下载:http://www.huiyi8.com/sc/9087.html ios图片瀑布流代码,布布扣,bubuko.com

iOS之简单瀑布流的实现

iOS之简单瀑布流的实现 前言 超简单的瀑布流实现,这里说一下笔者的思路,详细代码在这里. 实现思路 collectionView能实现各中吊炸天的布局,其精髓就在于UICollectionViewLayout,因此我们要自定义一个layout来继承系统的UICollectionViewLayout,所有工作都在这个类中进行. 1.定义所需属性 瀑布流的思路就是,从上往下,那一列最短,就把下一个item放在哪一列,因此我们需要定义一个字典来记录每一列的最大y值 每一个item都有一个attrib

jQuery+HTML5图片瀑布流效果

JavaScript与HTML5实现美女瀑布流布局,本方法是把图片的路径写在了JS的数组里,不过重点好像不是在这里,而是在图片如何自动排列的问题,你可以运行本实例后,点击“加载瀑布流布局”按钮,即可看到图片的瀑布流排列效果,现在很流行这个,希望您从本代码中能找到一些灵感. <!DOCTYPE HTML> <html> <head> <title>jQuery+HTML5图片瀑布流效果丨河北电动叉车|石家庄苗木</title> <style

瀑布流代码,简洁版 带分页

接上一篇   瀑布流代码,简洁版 的功能之上添加分页的功能 Index.cshtml @using PagedList.Mvc @model PagedList.StaticPagedList<int> @{ ViewBag.Title = "瀑布流"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section header{ <script src="~/Scripts/jquery-ui

javascript瀑布流代码实例

javascript瀑布流代码实例:现在瀑布流效果大行其道,各种网站都有应用,尤其是专业的图片类型的网站,本站在特效下载专区也有此应用,当然实现此效果的方法有多种,下面是一段瀑布流代码实例供大家参考. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title&

jquery插件实现瀑布流

jquery插件实现瀑布流<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> .container-fluid { padding: 20px; } .box { margin-bottom: 20px; float: left; w

简单瀑布流封装

function createLi(){ var oLi=document.createElement('li'); oLi.style.height=parseInt(50+Math.random()*400)+'px'; oLi.style.background='rgb('+rnd(0,255)+','+rnd(0,255)+','+rnd(0,255)+')'; return oLi; }; function rnd(n,m){ return parseInt(Math.random()