jQuery.lazyload+masonry改良图片瀑布流代码


Posted in Javascript onJune 20, 2014

实现方法如下:(这里只发jquery了,相关html代码请各位自己脑补一下吧,我就不发了,哈哈)

/**
 * 自动刷新
 * @type {*|jQuery|HTMLElement}
 */
var $container = $('#main');
$container.imagesLoaded( function(){
  $container.masonry({
    itemSelector : '.item',
    columnWidth:205,
    gutterWidth:10,
    isAnimated: true
  });
});
var pre_href;
//滚动
$(window).scroll(function(){
  // 当滚动到最底部以上100像素时, 加载新内容
  if ($(document).height() - $(this).scrollTop() - $(this).height()<100) {
    ajax_load_data();
  }
});
 
function ajax_load_data(){
  var href = $('#page-nav').find('.nextprev').attr('href');
  if(href && href != pre_href){
    console.log('href = '+href);
    pre_href = href;
 
    $.ajax({
      url:href,//获取元素列表的地址
      data:{'act':'ajax_wap_index'},
      dataType:'json',
      type:'post',
      beforeSend:function(){
        show_loading_body();
      },
      complete:function(){
        show_loading_body();
      },
      success:function(data){
        if(data.status != undefined && data.status == 'ok'){
          if(data.html){
            var $boxes = $( data.html );
            $container.append( $boxes ).masonry("appended", $boxes, true);//追加元素
            $container.imagesLoaded(function () {
              $container.masonry();
            });//加载完图片后,会实现自动重新排列。【这里是重点】
          }
 
          if(data.str_pages){
            $('#page-nav').html(data.str_pages);//设置下一个分页的地址。【可以自己补充】
          }
        }
      }
    });
  }
}
Javascript 相关文章推荐
jquery cookie插件代码类
May 26 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
Oct 24 Javascript
超级简单的jquery操作表格方法
Dec 15 Javascript
JavaScript中判断函数、变量是否存在
Jun 10 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
微信公众号 客服接口的开发实例详解
Sep 28 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
Node.js实现简单聊天服务器
Jun 20 #Javascript
SuperSlide2实现图片滚动特效
Jun 20 #Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 #Javascript
js常用数组操作方法简明总结
Jun 20 #Javascript
JS实现闪动的title消息提醒效果
Jun 20 #Javascript
jquery操作checked属性以及disabled属性的多种方法
Jun 20 #Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 #Javascript
You might like
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python写日志封装类实例
2015/06/28 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
python获取代理IP的实例分享
2018/05/07 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python async with和async for的使用
2019/06/20 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
python解包用法详解
2021/02/17 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
学生自我鉴定
2013/12/18 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
Java 数组的使用
2022/05/11 Java/Android