jQuery实现的瀑布流加载效果示例


Posted in Javascript onSeptember 13, 2016

本文实例讲述了jQuery实现的瀑布流加载效果。分享给大家供大家参考,具体如下:

demo.js:

$(function(){
  $('img').load(function(){
    var box = $('.box');
    var boxHeight = {
      leftBox:[],
      centerBox:[],
      rightBox:[]
    }
    for(var i=0;i<box.length;i++){
      var now = i%3;   //now的值为0,1,2
      switch(now){
        case 0:
          box.eq(i).css('left','10px');
          boxHeight.leftBox.push(box.eq(i).height());
          var now2 = Math.floor(i/3);
          if(now2==0){
            box.eq(i).css('top',0);
          }else{
            var total = 0;
            for(var j=0;j<now2;j++){
              total += boxHeight.leftBox[j]+10;
            }
            box.eq(i).css('top',total+'px')
          }
        break;
        case 1:
          box.eq(i).css('left','270px');
          boxHeight.centerBox.push(box.eq(i).height());
          var now2 = Math.floor(i/3);
          if(now2==0){
            box.eq(i).css('top',0);
          }else{
            var total = 0;
            for(var j=0;j<now2;j++){
              total += boxHeight.centerBox[j]+10;
            }
            box.eq(i).css('top',total+'px')
          }
        break;
        case 2:
          box.eq(i).css('left','530px');
          boxHeight.rightBox.push(box.eq(i).height());
          var now2 = Math.floor(i/3);
          if(now2==0){
            box.eq(i).css('top',0);
          }else{
            var total = 0;
            for(var j=0;j<now2;j++){
              total += boxHeight.rightBox[j]+10;
            }
            box.eq(i).css('top',total+'px')
          }
        break;
      }
    }
  });
});

demo.html:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>waterFall</title>
<style>
*{
  padding: 0;
  margin: 0;
}
.wrap{
  position: relative;
}
.box{
  position: absolute;
  left: 0;
  top: 0;
  width: 250px;
}
.box img{
  width: 250px;
}
</style>
<script src="jquery.js"></script>
<script src="demo.js"></script>
</head>
<body>
<div class="wrap">
  <div class="box">
    <img src="1.jpg" alt="">
    <p>1111111</p>
  </div>
  <div class="box">
    <img src="2.jpg" alt="">
    <p>22222222</p>
  </div>
  <div class="box">
    <img src="3.jpg" alt="">
    <p>33333333</p>
  </div>
  <div class="box">
    <img src="4.jpg" alt="">
    <p>4444444</p>
  </div>
  <div class="box">
    <img src="5.jpg" alt="">
    <p>55555555</p>
  </div>
  <div class="box">
    <img src="6.jpg" alt="">
    <p>666666666666</p>
  </div>
  <div class="box">
    <img src="7.jpg" alt="">
    <p>77777777</p>
  </div>
  <div class="box">
    <img src="8.jpg" alt="">
    <p>888888888888888</p>
  </div>
  <div class="box">
    <img src="9.jpg" alt="">
    <p>99999999999999</p>
  </div>
</div>
</body>
</html>

效果图如下:

jQuery实现的瀑布流加载效果示例

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript function、指针及内置对象
Feb 19 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
js substring从右边获取指定长度字符串(示例代码)
Dec 23 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
详解Vue中的Props与Data细微差别
Mar 02 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
JS实现页面数据无限加载
Sep 13 #Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 #Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 #Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 #Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 #Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 #Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 #Javascript
You might like
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
js模糊查询实例分享
2016/12/26 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
Python的Flask框架的简介和安装方法
2015/11/13 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python实现内存监控系统
2021/03/07 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
营销团队口号
2014/06/06 职场文书
债务纠纷代理词
2015/05/25 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Oracle 死锁的检测查询及处理
2021/09/25 Oracle