瀑布流插件|jquery.masonry|使用demo

Maonsry+Infinite-Scroll实现滚动式分页,网上有很多,这里只说:

瀑布流插件的一个基本使用,附上基本功能的demo

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery.masonry的跑通demo</title>
<script type="text/javascript" src="http://i.tq121.com.cn/j/jquery-1.8.2.js"></script>
<script src="http://i.tq121.com.cn/j/plugs/jquery.masonry.min.js"></script>
<style>
div div{ background:red; width:100px; margin:10px; color:#fff; padding:10px;}
</style>
</head>

<body>
<div id="container">
  <div class="item" style=" width:100px">a a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  a</div>
  <div class="item" style=" width:100px">a a a a a a a a a a a a a a a a a a a a  a</div>
  <div class="item" style=" width:100px">a a a a  a a  a a a  a</div>
  <div class="item" style=" width:100px">a a a a a  a</div>
  <div class="item" style=" width:100px">a a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  aa a a a a  a</div>
  <div class="item" style=" width:100px">a a a a a a a a a a a a a a a a a a a a  a</div>
  <div class="item" style=" width:100px">a a a a  a a  a a a  a</div>
  <div class="item" style=" width:100px">a a a a a  a</div>
</div>

<script type="text/javascript">
  $(function(){
    $(‘#container‘).masonry({
      // options 设置选项
      itemSelector : ‘.item‘,//class 选择器
      columnWidth : 240 ,//一列的宽度 Integer
          isAnimated:true,//使用jquery的布局变化  Boolean
          animationOptions:{
            //jquery animate属性 渐变效果  Object { queue: false, duration: 500 }
          },
          gutterWidth:0,//列的间隙 Integer
          isFitWidth:true,// 适应宽度   Boolean
          isResizableL:true,// 是否可调整大小 Boolean
          isRTL:false,//使用从右到左的布局 Boolean
  });
});
</script>
</body>
</html>

首先在页面中引入
<script src="jquery-1.7.1.min.js"></script>
<script src="jquery.masonry.min.js"></script>
<script src="jquery.infinitescroll.js"></script>

排列body中的内容:
<BODY>  <div id="container">
      <div class="item">a a a a a  a</div>
      <div class="item">a a a a a  a</div>
      <div class="item">a a a a a  a</div>
      <div class="item">a a a a a  a</div>

</div>
</BODY>

在js中调用插件:
<script type="text/javascript">
  $(function(){
    $(‘#container‘).masonry({
      // options 设置选项
      itemSelector : ‘.item‘,//class 选择器
      columnWidth : 240 ,//一列的宽度 Integer
          isAnimated:true,//使用jquery的布局变化  Boolean
          animationOptions:{
            //jquery animate属性 渐变效果  Object { queue: false, duration: 500 }
          },
          gutterWidth:0,//列的间隙 Integer
          isFitWidth:true,// 适应宽度   Boolean
          isResizableL:true,// 是否可调整大小 Boolean
          isRTL:false,//使用从右到左的布局 Boolean
  });
});
</script>
当需要排列图片div时:
需要调用:
<script>
var $container = $(‘#container‘);
$container.imagesLoaded(function(){
  $container.masonry({
    itemSelector : ‘.item‘,
    columnWidth : 240
  });
});
</script>

调用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中移除项目

调用infinitescroll插件:
$container.infinitescroll({
        navSelector : ‘#page-nav‘, //分页导航的选择器
        nextSelector : ‘#page-nav a‘, //下页连接的选择器
        itemSelector : ‘.box‘, //你要检索的所有项目的选择器
        loading: {
                finishedMsg: ‘No more pages to load.‘,//结束显示信息
                img: ‘http://i.imgur.com/6RMhx.gif‘//loading图片
        }
},
//作为回调函数触发masonry
function( newElements ) {
// 当加载时隐藏所有新项目
        var $newElems = $( newElements ).css({ opacity: 0 });
// 在添加到masonry布局之前保证图片载入
        $newElems.imagesLoaded(function(){
// 现在可以显示所有的元素了
        $newElems.animate({ opacity: 1 });
        $container.masonry( ‘appended‘, $newElems, true );
        });
}
);

时间: 2024-10-07 16:00:58

瀑布流插件|jquery.masonry|使用demo的相关文章

jQuery瀑布流插件——jQuery.Waterfall

插件--jQuery.Waterfall 思路: 其实只要了解了整个流程,要实现这个插件也不难,大家都玩过俄罗斯方块吧,原理差不多,找到合适的地方叠上去就好了,在这里,每个块的宽度是必需给定的,然后计算出列数,再维护一个数组,存储每列的高度,往最小高度的列添加块即可.滚动时,当最小高度出现在可视窗口时就启动ajax从服务器拉取更多的数据. 注意的地方: 如果瀑布流的块中包含图片,则需要事先知道图片的高度(其实就是为了要计算出整个块的高度,以便精确定位),图片的高度可以从服务器返回,本插件是整合p

Wookmark-jQuery-master 瀑布流插件使用介绍,含个人测试DEMO

要求 必备知识 本文要求基本了解 Html/CSS,  JavaScript/JQuery. 开发环境 Dreamweaver CS6 / Chrome浏览器 演示地址 演示地址 资料下载 测试预览截图(抬抬你的鼠标就可以看到演示地址哦): 程序核心代码看这里: $(function(){ function show(){ var colors=["#BA4A3A","#5BB5D6","#8EA83B","#EE5C92",

8款实用的Jquery瀑布流插件

1.网友Null分享Jquery响应式瀑布流布局插件 首先非常感谢网友Null的无私分享,此作品是一款响应式瀑布流布局Jquery插件,网友Null增加了一个屏幕自适应和响应式,响应式就是支持智能手机浏览,效果非常棒,遗憾的是不支持IE9以下版本,所以网友们在演示的时候请使用谷歌.火狐等浏览器... 分享JquerySchool网站里面的8款Jquery瀑布流插件 2.网友sole分享23行Jquery代码实现定位瀑布流布局特效 首先非常感谢网友sole的无私分享,此Jquery特效是我从互联网

利用jQuery来扩展一个瀑布流插件

  简单了解jQuery.fn.extend() jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). (截图来自jQuery文档) 为了更清晰的理解我将需求写成了注释 扩展代码如下 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 1 (function($){ 2 3 $.fn.WaterFall = function () { 4 5 /* 6 * 瀑布流插件 7 * 容器的宽度固定 8

一款很实用的jQuery鼠标悬浮有动画效果的响应式瀑布流插件

在线预览 下载地址 实例代码 <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content=&

响应式瀑布流插件Grid-A-Licious

Grid-A-Licious是一款遵守MIT协议的响应式瀑布流插件.该插件总代码行不超过400行,实现很巧妙,使用时也很流畅.实现原理也很简单,根据屏幕宽度和参数中设置的列宽度以及每项之间的间隔宽度,计算出当前屏幕宽度下应该生成几个等宽列:列生成好之后,再把每项放到等宽列中:当屏幕尺寸改变时,重新计算列表,然后再重新填充项. 使用该插件也很方便.使用实例: <html> <head> <meta charset="utf-8" /> <titl

Masonry 瀑布流插件使用

网址:http://masonry.desandro.com/ 用于手机网页 效果: HTML: <section id="con_2" class="mt-5"> <!-- 用来缓冲图片高度 --> <div class="c2-hide clearfix"><ul class="c2h-list"></ul></div> <ul class=&q

我的第一个jQuery插件--瀑布流插件

在上篇博客中已经完成了瀑布流的js代码,现在就要把这个js代码抽出并写成插件. 1.首先把html中的js代码抽离成为单独js文件 2.$.fn.waterfall = function(data) {    //定义插件的名称,这里名为waterfall var set = {   //这里写插件定义的变量和默认值 } var opt = $.extend({}, set, data);   //这是把插件的默认值set和调用插件时传入的参数值data合并在一起,若值重复后面的数组data会覆

移动端三合一瀑布流插件(原生JS)

没有前言,先上DEMO(手机上看效果更佳)和 原码. 瀑布流形式的图片布局方式在手机等移动端设备上运用广泛,比较常见的是下面前两种: 一.等宽等高 这种形式实现起来非常容易,这里就不再多说. 二.等宽不等高 这种形式算是比较正统的瀑布流布局形式,关于如何实现的请参考之前的一篇博文——jQuery瀑布流详解. 三.等高不等宽 在之前的工作中接触到了这种形式的瀑布流,它的主要特点是:同一行的两张图片高度相等,宽度不等,且宽高比与原图近乎一致(没有拉伸变形).但是不同行的图片高度不一定相等,下面就介绍