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中的ready函数冲突的解决方法
May 17 Javascript
js实现固定显示区域内自动缩放图片的方法
Jul 18 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
Bootstrap 模态框实例插件案例分析
Dec 28 Javascript
JS简单获取日期相差天数的方法
Apr 24 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
Apr 08 Javascript
JavaScript中变量提升机制示例详解
Dec 27 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
Vue实现Layui的集成方法步骤
Apr 10 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
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
canvas时钟效果
2017/02/16 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
JS判断数组那点事
2017/10/10 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
python字符串排序方法
2014/08/29 Python
python创建关联数组(字典)的方法
2015/05/04 Python
python中while循环语句用法简单实例
2015/05/07 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
香港交友网站:be2香港
2018/07/22 全球购物
日语专业求职信
2014/07/04 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python