【问题标题】:reLayout items with isotope, doesn't seem to maintain structure用同位素重新布局项目,似乎没有保持结构
【发布时间】:2011-02-24 03:19:26
【问题描述】:

我一直在玩弄同位素 http://isotope.metafizzy.co/demos/relayout.html 并且一直在尝试创建一个保持固定大小的父容器, 总是有 6 个较小的项目,并重新洗牌以适应第 7 个较大的项目。

这是我目前在 jsfiddle 上的内容 http://jsfiddle.net/pedalpete/LGBg6/

我希望会发生的是,在单击任何块后,任何一行中较小块的总数将是 3。

由于某种原因,无论是用户 .isotope('resize'),还是像我正在做的那样重新创建同位素,我最终在顶行中得到一个大于 3 的数字,因此项目没有均匀排序.

我原以为这种安排在诉诸之后会有些静态。 有没有办法让同位素服从绑定框的宽高参数??

【问题讨论】:

    标签: jquery jquery-isotope


    【解决方案1】:

    请参阅http://jsfiddle.net/desandro/S5vAG/ 了解我的解决方案。

    有没有办法让同位素服从绑定框的宽高参数??

    第一步是禁用 Isotope 调整容器大小。设置resizesContainer 选项false

    现在要完成将这些块装入容器,有几种方法可以做到这一点。您可以构建自己的 layoutMode,也可以尝试使用排序。这是我采用的解决方案。

    我还使用了不同的 layoutMode,fitColumns,我认为它更适合您的需求。使用getSortData 参数,逻辑是如果项目具有large 类并且是偶数项目,则它被推回下一列。所以 2, 4, 6 当它们很大时都会被放在下一列中。

    getSortData : {
      fitOrder : function( $item ) {
        var order,
            index = $item.index();
    
        if ( $item.hasClass('large') && index % 2 ) {
          order = index + 1.5;
        } else {
          order = index;
        }
        return order;
      }
    },
    

    【讨论】:

    • 绝妙的答案!我对这个概念有一个疑问:您能否调整未点击的 .items 的大小而不是移动 div 的位置。我正在寻找类似的东西:adidas.com/us/homepage.asp
    • @Tom 是的,您可以尝试通过自定义布局模式实现您想要处理布局的任何逻辑。见isotope.metafizzy.co/docs/extending-isotope.html
    • 我可以折叠项目而不是切换窗口吗?我看到你可以有自定义布局,所以我可以按照我想要的顺序排列图像,但是我将如何调整项目的大小?
    • 很棒的演示,几乎就是我想要的。但是,是否可以将放大的项目重新定位到第一个位置?类似于使用 www.jwt.com 的效果。提前致谢
    • @desandro ,这里断章取意,但是。插件是否支持多选。我的意思是诉诸可以有多个值。我用复选框试过这个,但没有结果..
    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 2011-11-14
    • 2023-02-20
    • 1970-01-01
    • 2011-03-12
    • 2011-11-08
    • 2015-09-17
    相关资源
    最近更新 更多