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中Eval函数的使用说明
Oct 11 Javascript
Ext对基本类型的扩展 ext,extjs,format
Dec 25 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
javascript实现继承的简单实例
Jul 26 Javascript
基于jQuery Tipso插件实现消息提示框特效
Mar 16 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
Dec 26 Javascript
JS获取数组中出现次数最多及第二多元素的方法
Oct 27 Javascript
详解node child_process模块学习笔记
Jan 24 Javascript
React-router4路由监听的实现
Aug 07 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
Sep 04 Javascript
JS新手入门数组处理的实用方法汇总
Apr 07 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
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
axios基本入门用法教程
2017/03/25 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
python保存文件方法小结
2018/07/27 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
深入了解Python 变量作用域
2020/07/24 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
跨域修改iframe页面内容详解
2019/10/31 HTML / CSS
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
大学生的四年学习自我评价
2013/12/13 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
大学开学计划书
2014/04/30 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫