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 相关文章推荐
基于JQuery框架的AJAX实例代码
Nov 03 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 Javascript
浅谈Javascript中substr和substring的区别
Sep 30 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
javascript解决小数的加减乘除精度丢失的方案
May 31 Javascript
VueJS全面解析
Nov 10 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
layui table 表格模板按钮的实例代码
Sep 21 Javascript
Node.js API详解之 module模块用法实例分析
May 13 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 curl_init函数用法
2014/01/31 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php实现的SESSION类
2014/12/02 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
Javascript学习笔记1 数据类型
2010/01/11 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
python操作gitlab API过程解析
2019/12/27 Python
python 实现图片批量压缩的示例
2020/12/18 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
工厂保洁员岗位职责
2013/12/04 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
技术入股合作协议书
2014/10/07 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
考察邀请函范文
2015/01/31 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
我的收音机情缘
2022/04/05 无线电