2012-01-28 20 views
13

Puede alguien sugerir cómo este sitio utiliza el plugin jQuery albañilería por su diseño responde, el líquido?Albañilería Responsive ejemplo jQuery diseño

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

Específicamente

;

El número de columnas cambia de 3 a 2 a 1 en el tamaño del navegador que es lo que espera de un sitio que utiliza mampostería, pero lo interesante es que las columnas también cambian de tamaño para llenar siempre el ancho completo disponible. La mayoría de los otros sitios de mampostería que he visto lagunas de licencia a la derecha de las columnas como el número de columnas cambia (por ejemplo http://masonry.desandro.com/) O las columnas llenar el ancho completo, pero el número de columnas fo sigue siendo el mismo (http://masonry.desandro.com/demos/fluid.html). ¿Están configurando dinámicamente el número de columnas en el tamaño del navegador combinado con las consultas de medios de CSS o quizás están utilizando columnas de CSS3?

Gracias.

+0

No debemos estar viendo la misma cosa, porque no hace eso para para mí: http://i.stack.imgur.com/08sMz.png creo que sólo están utilizando la ejemplo estándar de mampostería con animación (no se veía). Siempre puede verificar el código fuente usted mismo ... –

+0

Extraño, en OS X Lion usando Chrome 17, Safari 5.1.2 o Firefox 9.0.1 se ve así; http://cl.ly/DjIr. Eché un vistazo al código fuente pero no pude entender cómo se hizo. – robflate

Respuesta

16

este es el código que estamos mirando.

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(); 
}); 

La idea básica parece ser la de añadir un columnselector la que descubre cómo se pueden establecer muchas columnas. El segundo paso es usar el smartresize event en la función. El tercer paso es llamar a la mampostería con el ancho "dinámico" de columnas. Divertirse :)

+1

Gracias a algunos_guy, que funcionó una delicia. Solo necesitaba agregar algunas consultas de medios para establecer el ancho máximo de .ct-coll-item en 600 y 768. – robflate

+0

Es bueno saber que funciona. y gracias por advertir mi atención, también estaba buscando algo similar y creo que ahora intentaré implementar esto en mi sitio también. –

+0

salvó mi trasero: D – PriteshJ

Cuestiones relacionadas