加载后执行RunAfterImgLoaded.js
RunAfterImgLoaded.js故名思议是一款在图片加载完之后执行的一个js插件,但是这个还只是一个设想,有时间会再将它做出来。关于图片加载完之后执行的问题引申出一些新的发现。
在最近一个切图项目中运用到了瀑布流效果,基于masonry插件很轻松解决了,但是后来发现一个问题,在网速较慢的情况下,瀑布流效果失效了。以前端经验来看,这个问题出的很明显,在网速较慢的是,图片还未加载完,但是masonry函数在$(document).ready()的时候已经执行了,这个时候插件就无法获取图片宽和高,就无法将图片正确的摆放好位置,所以要解决这个问题,需要在图片加载完之后执行它即可。
于是就打算写个RunAfterImgLoaded.js插件。
google一下。发现这类的插件已经有人开发出来了,大家可以用一下,省的再去找了。
http://imagesloaded.desandro.com/
不过这里的瀑布流问题通过更简单的方法解决了,所以基本可以判断jQuery内置了这样一个函数imagesLoaded,就是专门解决这个问题的。。万能的jQuery!
$(function(){
var $container=$('.honors ul');
$container.imagesLoaded( function(){
$container.masonry({
itemSelector :'li',
columnWidth : 4,
isAnimated : true
});
});
});
写在最后,这情况在web前端开发时候经常有,以前没有笔记下来,现在喜欢写出来,一个是自媒体的原因,这个houyuan.qietu.com 是切图网所有子网站中唯一一个内容全部来自原创的网站。第二个原因是,我发现这个频道在切图网所有页面中的排名中很靠前。看来原创有利于seo真不是盖的。