Responsive Masonry jQuery layout example

后端 未结 1 1833
既然无缘
既然无缘 2021-01-30 02:53

Can anyone suggest how this site uses the jQuery Masonry plugin for its responsive, fluid layout?

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

Specifical

相关标签:
1条回答
  • 2021-01-30 03:30

    This is the Code we are looking at.

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

    The Basic idea seems to be to add a columnselector which finds out how many columns can be set. Second step is to use the smartresize event in the function. Third step is to call masonry with the "dynamic" width of columns. Have fun :)

    0 讨论(0)
提交回复
热议问题