在jQuery中创建动态响应砌体布局 弹性柱

  • 源码大小:22.61KB
  • 所需积分:1积分
  • 源码编号:19JP-3323
  • 浏览次数:757次
  • 最后更新:2023年05月31日
  • 所属栏目:布局
本站默认解压密码:19jp.com 或 19jp_com

简介

Elastic Columns是一个轻量级的jQuery插件,受Masonry.js和同位素.js的启发,用于创建灵活响应的类似砖石的布局。

该插件均衡网格项的宽度,并以类似Pinterest的流动网格布局重新排列它们。

参见:

  • JavaScript和CSS中的10个最佳网格布局系统

如何使用它:

1.在jQuery之后下载并加载Elastic Columns的缩小版。

  1. <script src="/path/to/cdn/jquery.min.js"></script>
  2. <script src="/path/to/dist/elastic-columns.min.js"></script>

2.将项目添加到砌体布局中。

  1. <div class="columns">
  2. <div class="item">
  3. Grid Item 1
  4. </div>
  5. <div class="item">
  6. Grid Item 2
  7. </div>
  8. <div class="item">
  9. Grid Item 3
  10. </div>
  11. ...
  12. </div>

3.初始化顶部容器上的插件,并指定列数,如下所示。

  1. var $container = $('.columns');
  2. $container.elasticColumns(
  3. {
  4. columns: 3,
  5. });

4.启用插件,根据屏幕大小动态设置列数。

  1. $(window).on('resize', function(evt)
  2. {
  3. // 4 columns when the screen size is larger than 1200px
  4. var columns = $container.width() > 1200 ? 4 : 3;
  5. $container.elasticColumns('set', 'columns', columns);
  6. $container.elasticColumns('refresh');
  7. });

5.启用插件,根据屏幕大小动态设置列数。

  1. $(window).on('resize', function(evt)
  2. {
  3. // 4 columns when the screen size is larger than 1200px
  4. var columns = $container.width() > 1200 ? 4 : 3;
  5. $container.elasticColumns('set', 'columns', columns);
  6. $container.elasticColumns('refresh');
  7. });

6.设置网格项之间的间距。

  1. var $container = $('.columns');
  2. $container.elasticColumns(
  3. {
  4. columns: 3,
  5. innerMargin: 20,
  6. outerMargin: 20,
  7. });

7.销毁实例。

  1. $container.elasticColumns('destroy');

预览截图