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 相关文章推荐
JavaScript国旗变换效果代码
Aug 13 Javascript
jQuery 图像裁剪插件Jcrop的简单使用
May 22 Javascript
javascript 窗口加载蒙板 内嵌网页内容
Nov 19 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
vue项目开发中setTimeout等定时器的管理问题
Sep 13 Javascript
vue中eslintrc.js配置最详细介绍
Dec 21 Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
Jan 07 Javascript
Ajax异步刷新功能及简单案例
Nov 20 Javascript
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
同时提取多条新闻中的文本一例
2006/10/09 PHP
一个简单计数器的源代码
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python3写入文件常用方法实例分析
2015/05/22 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
Python中遍历列表的方法总结
2019/06/27 Python
django 消息框架 message使用详解
2019/07/22 Python
python import 上级目录的导入
2020/11/03 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
应届毕业生简历自我评价
2014/01/31 职场文书
公司募捐倡议书
2014/05/14 职场文书
民主评议党员总结
2014/10/20 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
模范班主任事迹材料
2014/12/17 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
MySQL RC事务隔离的实现
2022/03/31 MySQL