jquery - Bootstrap 4 - 需要折叠来调整砌体布局

标签 jquery css bootstrap-4 cycle2

解决方案:

解决了将 Cycle2 换成类似的响应式幻灯片脚本的问题。

Slick

jsfiddle

     (function($) {

  var $carousel = $('.carousel'),
            $masonry    = $('#cards');

    $carousel.on('afterChange', function(slick){

        $masonry.masonry({
            itemSelector: '.card-item'
        }).on('shown.bs.collapse hidden.bs.collapse', function() {
            $masonry.masonry();
        });

    }).slick({
        arrows: false,
        speed: 0,
        infinite: true,
        autoplay: true,
        autoplaySpeed: 400
    });

})(jQuery);

原始问题:

我从 bootstrap 4 中获取了卡片列“masonry”,并将其调整为与 masonry js 一起使用 - 他们只支持我能找到的 B3 - 减去排水沟。

我正在添加一个折叠链接,这就是问题所在。我无法让网格元素将其容器向下推,这将重新格式化砌体布局 - 我想我的措辞是正确的。

它目前显示和隐藏都很好,但布局保持不变,所以它最终显示在其他元素下面,而不是保持砖石布局。

剥离了我所有的解决方案,所以 fiddle 纯粹是在这一点上布局。

jsfiddle here

我觉得它应该涉及以下内容,但没有运气。 :[

$grid.on('shown.bs.collapse', function() {
  $grid.masonry('layout');
});

本质上,当折叠打开时,保持布局完整,但我无法将其正确转换为代码。

另一种尝试是将引导事件与砌体布局合并。不过,我无法让它工作。

$('.collapsing').on('show.bs.collapse', function () {
  // do something…
  $grid.masonry('layout');
});

Fiddle 包含这两个。

我想我需要一些读起来更像的东西

  1. What is the container size at closed
  2. What is it at open
  3. Change layout to size at open

不确定如何为其编写代码。 :/

最佳答案

试试这个.on方法

(function ($) {

    var $masonry = $('#cards');
    $masonry.masonry({
        itemSelector: '.card-item'
    }).on('shown.bs.collapse hidden.bs.collapse', function() {
        $masonry.masonry();
    });

})(jQuery);

参见工作 fiddle https://jsfiddle.net/joshmoto/ax1d7ok6/

唯一的问题是,masonry 永远不会使用 bootstrap collapse 方法自然地设置动画,masonry 只有在 bootstrap collapse 完成后才会触发。无赖我知道:-(

关于jquery - Bootstrap 4 - 需要折叠来调整砌体布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44554486/

相关文章:

git - 安装 popper 失败(git 命令失败)

asp.net-mvc - 有什么办法可以让 table 变宽吗?也许 bootstrap 在某处设置了 max-witdh ?

jquery 鼠标悬停时晃动?

css - 如何将样式应用于基于祖先 div 的后代 div?

javascript - 谷歌地图API动画多边形颜色变化

html - 在所有屏幕尺寸下将一个 div 对齐到图像的底部,而不考虑文本行

html - Bootstrap Navbar 在 jumbotron 之上(覆盖)

javascript - 在选择的 jquery ui 选项卡上获取选项卡文本

javascript - 使用 jquery 增加 div id

php - 向 Web 表单动态添加多个元素 - 下拉菜单