菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

jQuery插件实现瀑布留布局masonry + infinitescroll 图片高度处理

原创
05/13 14:22
阅读数 275

课程推荐:Java开发工程师--学习猿地精品课程

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

mamicode.com,码迷
var $container = $(‘#flow‘);
$(‘#flow‘).imagesLoaded(function(){
$(‘#flow‘).masonry({
itemSelector: ‘.box‘,
gutterWidth: 20,
columnWidth: 238
});
});
mamicode.com,码迷
这样解决了第一次加载时候的问题,但是当异步请求之后加载的图片仍然无法正确的获取高度,解决的办法就是先将下载的图片隐藏,等图片下载完毕后再使用masonry渲染。代码如下:

mamicode.com,码迷
$(‘#flow‘).infinitescroll({
loading : {
msgText : "正在加载",
img: "http://www.infinite-scroll.com/loading.gif",
finishedMsg : "木有了哦..."
},
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 );
});
});
mamicode.com,码迷
这样就很好的解决了图片加载的问题。

jQuery插件实现瀑布留布局masonry + infinitescroll 图片高度处理,码迷,mamicode.com

jQuery插件实现瀑布留布局masonry + infinitescroll 图片高度处理

标签:com http blog style class div img code java javascript log

原文地址:http://www.cnblogs.com/aleafo/p/3695816.html

发表评论

0/200
0 点赞
0 评论
收藏
为你推荐 换一批