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 相关文章推荐
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
Jun 23 Javascript
jQuery异步提交表单的两种方式
Sep 13 Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
Js利用Canvas实现图片压缩功能
Sep 13 Javascript
Angular Excel 导入与导出的实现代码
Apr 17 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
如何通过shell脚本自动生成vue文件详解
Sep 10 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 ajax 静态分页过程形式
2011/09/02 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
JavaScript类的写法
2016/09/17 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
Python中的random()方法的使用介绍
2015/05/15 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Python实现自动签到脚本功能
2020/08/20 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
劳资专员岗位职责
2013/12/27 职场文书
网络编辑岗位职责
2014/03/18 职场文书
投资建议书模板
2014/05/12 职场文书
创先争优一句话承诺
2014/05/29 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android
python中使用redis用法详解
2022/12/24 Redis