jquery.masonry瀑布流插件用法详解

2016-02-19 13:03 45 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享jquery.masonry瀑布流插件用法详解,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - Web开发 】

 Masonry是一个瀑布流布局jQuery插件,采用的原理就是利用position: absolute;相对定位,放置每个元素的位置,所以这个插件需要等到网页加载完成以后才能显示效果,本站的瀑布流效果也是采用的这个插件。几天就给大家分享一下关于Masonry瀑布流插件的一些使用方法。

一、Masonry介绍

类似的布局,似乎一夜之间出现在国内外大大小小的网站上,比如 Pinterest (貌似是最早使用这种布局的网站了),Mark之,蘑菇街,点点网,以及淘宝最新上线的哇哦 等等。通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。所以,我们给这样的布局起了一个形象的名字 瀑布流式布局。

masonry-demo

Masonry是一款很好用的jquery网页布局插件,它可以去掉不同高度div之间的空白,让你的网页看上去更加的整齐、漂亮!

二、Masonry使用方法1、简单调用

首先要引入jquery.masonry.min.js文件和jquery插件,注意引用文件的顺序。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)script type="text/javascript" src="jquery.min.js"/script  script type="text/javascript" src="jquery.masonry.min.js"/script

调用Masonry

$(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插件防止获取不到图片的高度

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)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://www.tulaoshi.com/n/20160219/1602831.html

延伸阅读
标签: Web开发
提供方便方法操作cookie : 代码如下: $.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'sosuo8.com', secure: true }); $.cookie('the_...
标签: Web开发
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 fn 是什么东西呢。查看jQuery代码,就不难发现。 代码如下: jQuery.fn = jQuery.prototype = { init: function(...
标签: Web开发
概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不 及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理 HTML documents、even...
标签: Web开发
简单使用方法: 代码如下: html head titleJQuery-Cookie插件/title script type="text/javascript" src="jquery-1.4.js"/script script type="text/javascript" src="jquery.cookie.js"/script /head body a href="#"设置cookie1/abr a href="#"设置cookie2/abr a href="#"获取cookie/abr a href="#"删除cookie/abr /body /...
标签: Web开发
什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。 怎么实现ImageLazyLoad 一、使用JQuery...

经验教程

436

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部