4

我发布了一个视频来解释我的问题。抱歉帧速率慢。

当我将窗口缩小得太快时,Masonry jQuery 插件似乎太慢而无法跟上,因此当浏览器调整得太快时会破坏布局。有些项目位于页脚下方,看起来显然是错误的。

当我重新加载页面时,如视频所示,布局恢复正常。

我认为这是一个问题smartresize

这是演示页面: http ://test.davewhitley.com/not-wp/isotope_test/index.php

这个页面成功地做到了: http ://tympanus.net/codrops/collective/collective-2/

的JavaScript:

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 = 2;
        else if( w_w <= 768 ) n = 3;
        else n = 4;
    },
    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: 300
                }
            });
        });
        $ctCollContainer.colladjust();
        $ctCollContainer.find('div.ct-coll-item-multi').collslider();
    };
    return { init: init };
})();
CollManag.init();
});
4

2 回答 2

3

我遇到过同样的问题。我bindResize在windows上使用了resize。我在他们的网站上找到了这个解决方案

砌体方法

bindResizemasonry.pkgd

$container.masonry({
    itemSelector: '.container'
});

$(window).resize(function () {
    $container.masonry('bindResize')
});
于 2014-03-29T05:50:37.917 回答
0

顺便说一句,伟大的工作。

在某些时候,是的,布局有点疯狂。当然,这只是浏览器处理百分比宽度+砌体的方式。很棒的小提示如下:

使您的容器更小,但您的图像更大。

.mycontainer { 宽度:24%; ) .mycontainer img { 宽度:101%; 高度:自动;)

http://metafizzy.co/blog/beyonce-seamless-fluid-image-masonry/

于 2013-01-23T23:02:20.787 回答