2012-01-28 159 views
13

任何人都可以提出这个网站如何使用jQuery Masonry插件作为响应式流体布局吗?响应式砌体jQuery布局示例

http://tympanus.net/codrops/collective/collective-2/

具体而言;

浏览器调整大小的列数从3更改为1,这是您对使用砌体的站点的期望,但有趣的是列也调整大小以始终填充可用的全部宽度。我所见过的大多数其他砌体工地都会因列数发生变化(例如http://masonry.desandro.com/)而在列的右侧留下间隙,或者列填满整个宽度,但fo列的编号保持不变(http://masonry.desandro.com/demos/fluid.html)。他们是否动态设置浏览器调整大小的列数与CSS媒体查询相结合,或者他们正在使用CSS3列?

谢谢。

+0

我们不能看到同样的事情,因为它不适合我:http://i.stack.imgur.com/08sMz.png我认为他们只是使用标准砌体的例子与动画(没看)。您可以随时查看源代码...... – 2012-01-28 17:56:43

+0

奇怪的是,在使用Chrome 17,Safari 5.1.2或Firefox 9.0.1的OS X Lion中,它看起来像这样; http://cl.ly/DjIr。我查看了源代码,但无法弄清楚它是如何完成的。 – robflate 2012-01-28 19:29:21

回答

16

这是我们正在查看的代码。

jQuery(document).ready(function($) { 
    var CollManag = (function() { 
     var $ctCollContainer = $('#ct-coll-container'), 
     collCnt = 1, 
     init = function() { 
      changeColCnt(); 
      initEvents(); 
      initPlugins(); 
     }, 
     changeColCnt = function() { 
      var w_w = $(window).width(); 
      if(w_w <= 600) n = 1; 
      else if(w_w <= 768) n = 2; 
      else n = 3; 
     }, 
     initEvents = function() { 
      $(window).on('smartresize.CollManag', function(event) { 
       changeColCnt(); 
      }); 
     }, 
     initPlugins = function() { 
      $ctCollContainer.imagesLoaded(function(){ 
       $ctCollContainer.masonry({ 
        itemSelector : '.ct-coll-item', 
        columnWidth : function(containerWidth) { 
         return containerWidth/n; 
        }, 
        isAnimated : true, 
        animationOptions: { 
         duration: 400 
        } 
       }); 
      }); 
      $ctCollContainer.colladjust(); 
      $ctCollContainer.find('div.ct-coll-item-multi').collslider(); 
     }; 
     return { init: init }; 
    })(); 
    CollManag.init(); 
}); 

基本的想法似乎是添加一个columnselector,它可以找出可以设置多少个列。第二步是在功能中使用smartresize event。第三步是使用“动态”列宽度调用砌体。玩得开心:)

+1

谢谢some_guy,那是一种享受。我只需要添加一些媒体查询来设置.ct-coll-item的最大宽度为600和768. – robflate 2012-02-12 00:16:14

+0

很好的知道它的工作原理。并感谢广告我注意到它,我也在寻找类似的东西,我想我现在将尝试并将其实施到我的网站! – 2012-02-12 16:26:49

+0

救了我的屁股:D – PriteshJ 2012-08-26 17:12:36