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 函数式编程的原理
Oct 16 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
Dec 13 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
基于Node.js模板引擎教程-jade速学与实战1
Sep 17 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
vue实现在v-html的html字符串中绑定事件
Oct 28 Javascript
js实现经典贪吃蛇小游戏
Mar 19 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
33道php常见面试题及答案
2015/07/06 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
jquery创建div 实现代码
2009/04/27 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
python实现在控制台输入密码不显示的方法
2015/07/02 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python 3 判断2个字典相同
2019/08/06 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
通信生自我鉴定
2014/01/18 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
四年级下册教学反思
2014/02/01 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
2015年重阳节主持词
2015/07/04 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
SQL Server Agent 服务无法启动
2022/04/20 SQL Server