【JQ】瀑布流排版-jquery.masonry.min.js使用说明

官网下载:
http://masonry.desandro.com/
当前版本:2.1.08

简单用法:

<div id="container">
  <div class="item">...</div>
  ...
</div>
//CSS
.item { width: 220px; margin: 10px; float: left;}
//JS
$(function(){
  $('#container').masonry({
    // options
    itemSelector : '.item',
    columnWidth : 240
  });
});


 更多参数:

$(function(){
  $('#container').masonry({
    // options 设置选项
    itemSelector : '.item', //子类元素选择器
    columnWidth : 240 ,//一列的宽度 ,包括边距 220+10+10
    isAnimated:true, //使用jquery的布局变化,是否启用动画效果
    animationOptions:{
    //jquery animate属性 ,动画效果选项。比如渐变效果 Object { queue: false, duration: 500 }
    },
    gutterWidth:15,//列的间隙
    isFitWidth:true,//自适应宽度
    isResizableL:true,// 是否可调整大小
    isRTL:false,//使用从右到左的布局
  });
}); 


 图片加载完后再调用:

var $container = $('#container');
$container.imagesLoaded(function(){
  $container.masonry({
    itemSelector : '.item',
    columnWidth : 240
  });
});


关于动画:动画只要把isAnimated:true就可以了,还可以设如animationOptions: {duration: 750, easing: 'linear',queue: false }来设置,
当然,也可以不用他的此功能,你自己用CSS3做动画:

.masonry,
.masonry .masonry-brick {
  -webkit-transition-duration: 0.7s;
     -moz-transition-duration: 0.7s;
      -ms-transition-duration: 0.7s;
       -o-transition-duration: 0.7s;
          transition-duration: 0.7s;
}

.masonry {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.masonry .masonry-brick {
  -webkit-transition-property: left, right, top;
     -moz-transition-property: left, right, top;
      -ms-transition-property: left, right, top;
       -o-transition-property: left, right, top;
          transition-property: left, right, top;
}


 PS:更厉害的功能和动画,在其官网上有演示,包括增加内容块动画,乱排序动画,和无限滚动条配合的增加动画等。
其中1:点击按钮增加内容、点击按钮重排序

<script src="css_js/jquery-1.7.1.min.js"></script>
<script src="css_js/jquery.masonry.min.js"></script>
<script src="css_js/jbox-maker.js"></script>
//页面基础语句
<script>
  $(function(){
    
    var $container = $('#container');
    
    $container.masonry({
      itemSelector: '.box',
      columnWidth: 100,
      isAnimated: !Modernizr.csstransitions
    });
    
    $('#prepend').click(function(){
      var $boxes = $( boxMaker.makeBoxes() );
      $container.prepend( $boxes ).masonry( 'reload' );
    });
    
    $('#append').click(function(){
      var $boxes = $( boxMaker.makeBoxes() );
      $container.append( $boxes ).masonry( 'appended', $boxes );
    });
    
  });
</script>

其中jbox-maker.js的内容是:

/*
 *  This is just a utitlity script so we can 
 *  add random content to masonry-ed layouts
 */

var boxMaker = {};
//下面是将随机出现的文字内容集,以.分隔
boxMaker.lorem = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus eu interdum odio. Cras lobortis mauris vitae tellus consectetur sit amet cursus ipsum vestibulum. Duis facilisis sodales tristique. Vivamus aliquet, est a rhoncus dapibus, velit tortor tempor turpis, a pharetra diam lacus a metus. Donec gravida faucibus magna, nec laoreet nibh placerat et. Cras magna lorem, faucibus vitae rhoncus ac, tincidunt vel velit. Mauris aliquam, risus vel sodales laoreet, mi nulla faucibus nunc, eu tincidunt nisi leo sed orci. Curabitur sagittis libero eu augue luctus ullamcorper. Phasellus sed tortor sed nunc elementum rutrum. Maecenas eu enim a nulla faucibus commodo iaculis tempor orci. Integer at ligula id mauris semper bibendum at eu erat. Integer vestibulum sem nec risus iaculis eu rhoncus tellus tempor. Suspendisse potenti. Sed bibendum nibh non velit blandit eu adipiscing ligula consectetur. Vivamus turpis quam, fringilla a elementum a, condimentum non purus. Pellentesque sed bibendum ante. Fusce elit mauris, pulvinar sed rutrum eget, malesuada in nisi. Etiam sagittis pretium ligula. Aliquam a metus orci, a molestie lacus. Suspendisse potenti. Mauris vel volutpat nunc. In condimentum imperdiet scelerisque. Cras aliquam tristique velit non iaculis. Aliquam pulvinar sagittis sodales. Aenean risus orci, elementum quis accumsan eget, elementum cursus tellus. Nunc vel laoreet odio. Maecenas sollicitudin, tellus vel bibendum ornare, tellus nibh hendrerit lorem, quis volutpat turpis odio ac ligula. Etiam tempus neque id libero feugiat fringilla. Nullam posuere consequat vehicula. Mauris in lorem eget sem tempor condimentum. Integer rhoncus accumsan elit eu gravida. Donec dictum ante ac nisl adipiscing vel tempor libero luctus. Praesent bibendum augue at erat semper rutrum. Fusce vel orci nulla. Vivamus condimentum, odio vel condimentum tempus, mauris ipsum gravida odio, sed viverra dolor velit sit amet magna. Donec aliquam malesuada ipsum ut suscipit. Vivamus porttitor posuere iaculis. Vestibulum lectus lorem, tincidunt at sodales et, euismod vel quam. Sed eget urna nunc. In quis felis nunc. Aliquam erat volutpat. Cras ut dui ac leo aliquet placerat faucibus in nulla. Mauris pharetra ligula et tortor ultricies eget elementum libero blandit. Praesent tincidunt, mi quis aliquam faucibus, leo risus placerat odio, ac adipiscing ante urna at tortor.'.split(".");

boxMaker.loremLen = boxMaker.lorem.length;
  
boxMaker.randoLoremText = function() {
  var loremText = '',
      sentences = Math.random() * 5;  //每块里随机1-5个句子
  for (var j=0; j < sentences; j++ ) {
    var whichSentence = Math.floor( Math.random() * boxMaker.loremLen );
    loremText += boxMaker.lorem[whichSentence] + '. ';
  }
  return loremText;
};

boxMaker.makeBoxes = function() {
  var boxes = [],
      count = Math.random()*4; //随机增加1-4个块

  for (var i=0; i < count; i++ ) {
    var box = document.createElement('div'),
        text = document.createTextNode( boxMaker.randoLoremText() );
    
    box.className = 'box col' +  Math.ceil( Math.random()*3 );
    box.appendChild( text );
    // add box DOM node to array of new elements
    boxes.push( box );
  }

  return boxes;
};



 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值