jQuery插件实现瀑布留布局masonry + infinitescroll 。 使用官方的示例代码实际测试发现,当上传到服务器的时候,由于图片下载速度问题,导致图片高度不能被正确识别,从而造成层的重叠。 解决方法就是使用imagesLoaded加载。

    var $container = $('#flow');
$('#flow').imagesLoaded(function(){
$('#flow').masonry({
itemSelector: '.box',
gutterWidth: 20,
columnWidth: 238
});
});

这样解决了第一次加载时候的问题,但是当异步请求之后加载的图片仍然无法正确的获取高度,解决的办法就是先将下载的图片隐藏,等图片下载完毕后再使用masonry渲染。代码如下:

    $('#flow').infinitescroll({
loading : {
msgText : "<em>正在加载</em>",
img: "http://www.infinite-scroll.com/loading.gif",
finishedMsg : "<em>木有了哦...</em>"
},
navSelector : "#plist",
nextSelector: "#plist a",
itemSelector: ".box",
pixelsFromNavToBottom: 100,
animate: true
},function(newElements) {
     //先隐藏
var $newElems = $( newElements ).css({ opacity: 0 });
$newElems.imagesLoaded(function(){
      //图片显示后再进行masonry渲染
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
});

这样就很好的解决了图片加载的问题。

最新文章

  1. 学习RxJS: 导入
  2. vba中MsgBox的参数及用法
  3. Greedy --- HNU 13320 Please, go first
  4. windows分离系统文件和用户数据
  5. easyui源码翻译1.32--ValidateBox(验证框)
  6. POJ 2342 (树形DP)
  7. shell 加法
  8. eclipse中使用tomcat图解
  9. Android应用程序中的多个Activity的显示创建和调用
  10. 任务管理器进程中多个chrome.exe的问题
  11. 用备份控制文件做不完全恢复下的完全恢复(数据文件备份&lt;旧&gt;--新建表空间--控制文件备份&lt;次新&gt;--日志归档文件&lt;新&gt;)
  12. UWP 在Xaml中使用cu和fcu资源
  13. 全文检索Lucene (1)
  14. 剑指offer--3.从头打印链表
  15. shell脚本学习-printf命令
  16. Java并发编程笔记之Semaphore信号量源码分析
  17. windows server 2012 本地用户和组
  18. COM中导出GUID
  19. Centos 7 安装和配置Redis
  20. 1Password:让一个密码记住所有密码

热门文章

  1. “==”与&quot;equals(object)&quot;的区别
  2. 每周分享之 二 http协议(2)
  3. Gaussian and Truncated Gaussian
  4. 通过JQuery实现Ajax代码
  5. Java中Math.round()函数
  6. zoj 1884 简单 键盘 字符 处理
  7. selenium 调用键盘按键
  8. 小白学Maven第一篇配置
  9. 关于KVO导读
  10. EF框架搭建小总结--ModelFirst模型优先