Masonry是一款很好用的jquery网页布局插件,它可以去掉不同高度div之间的空白,让你的网页看上去更加的整齐、漂亮!
二、Masonry使用方法1、简单调用首先要引入jquery.masonry.min.js文件和jquery插件,注意引用文件的顺序。
script type="text/javascript" src="jquery.min.js"/script script type="text/javascript" src="jquery.masonry.min.js"/script调用Masonry
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)$(function(){ $('#container').masonry({ itemSelector : '.item' }); });2、使用参数参数是以json的方式传入到插件函数中,和以往的其他插件的调用方法并没有不同,不过他还有其他的方式去调用,比如:
var container = document.querySelector('#container');var msnry = new Masonry( container );container.appendChild( elem );msnry.appended( elem );msnry.layout();更多调用方法请参考:http://masonry.desandro.com/methods.html
三、参数介绍itemSelector:class选择器,默认’.item’columnWidth:一列的宽度isAnimated:使用jquery的布局变化,默认trueanimationOptions:animate属性渐变效果(Object { queue: false, duration: 500 })gutterWidth:列的间隙 IntegerisFitWidth:适应宽度BooleanisResizableL:是否可调整大小 BooleanisRTL:使用从右到左的布局 Boolean四、常见的调用方法调用masonry插件的方法格式是:$(‘#container’).masonry( ‘methodName’, [optionalParameters] ),例如:
.masonry( ‘appended’, $content, isAnimatedFromBottom )//触发添加到container的项目的布局.masonry( ‘destroy’ )// 完全移除masonry的功能 返回到元素预初始化状态.masonry( ‘layout’, $items, callback )// 指定项目的布局.masonry( ‘option’, options ) //设置option.masonry( ‘reloadItems’ ) //重新聚合所有项目以当前的顺序.masonry( ‘reload’ ) //用于预先考虑或者插入项目 .masonry( ‘reloadItems’ )的简化版.masonry( ‘remove’, $items ) //从masonry实例或dom中移除项目1、关于获取图片高度使用imagesLoaded.js插件防止获取不到图片的高度
var $container = $('#container'); $container.imagesLoaded( function(){ $container.masonry({ itemSelector : '.item' }); });2、使用JS实现动画var $container = $('#container'); $container.imagesLoaded( function(){ $container.masonry({ itemSelector : '.item', isAnimated : true }); });3、无限滚动加载$container.infinitescroll({ navSelector : '#page-nav', // selector for the paged navigation nextSelector : '#page-nav a', // selector for the NEXT link (to page 2) itemSelector : '.item', // selector for all items you'll retrieve loading: { finishedMsg: 'The END!', img: '6RMhx.gif' } }, // trigger Masonry as a callback function( newElements ) { // hide new items while they are loading var $newElems = $( newElements ).css({ opacity: 0 }); // ensure that images load before adding to masonry layout $newElems.imagesLoaded(function(){ // show elems now they're ready $newElems.animate({ opacity: 1 }); $container.masonry( 'appended', $newElems, true ); }); } );4、通过a标签来制定加载内容div id="container" div class="item"1/div div class="item"2/div div class="item"3/div/divnav id="page-nav" a href="masonry06-2.html"/a/nav五、如何获取官方网站 | 在线示例 | 下载地址
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)