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 Window及document对象详细整理
Jan 12 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
JS使用插件cryptojs进行加密解密数据实例
May 11 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
vue自动化表单实例分析
May 06 Javascript
微信小程序实现美团菜单
Jun 06 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
Jun 08 Javascript
解决vue同一slot在组件中渲染多次的问题
Sep 06 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
node实现爬虫的几种简易方式
Aug 22 Javascript
Vue-cli3项目引入Typescript的实现方法
Oct 18 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 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
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
python实现简易动态时钟
2018/11/19 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
打架检讨书50字
2014/01/11 职场文书
秋游活动策划方案
2014/02/16 职场文书
团支部建设方案
2014/05/02 职场文书
植树节标语
2014/06/27 职场文书
七一建党日演讲稿
2014/09/05 职场文书
黄山导游词
2015/01/31 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL