在折叠标签中加载时,光滑轮播的宽度为0px

Mar*_*sky 5 angular-bootstrap slick.js

在折叠内容中加载光滑滑块(在这种情况下为angular-bootstrap collapse插件)时,.slick-track div的宽度为0px,导致滑块尝试将所有幻灯片放在彼此的顶部.按箭头查看下一张幻灯片时,幻灯片恢复正常.如果我选择滑块并想要检查浏览器中的组件,它也会恢复正常.

请看这个例子:http: //plnkr.co/edit/iw9f2alEnK0HFkv1eq16?p = preview

这是我正在使用的光滑配置:

$(document).ready(function(){
    $('.tourImageSlider').slick({
          dots: true,
          infinite: false,
          slidesToShow: 3,
          slidesToScroll: 1,
          responsive: [
            {
              breakpoint: 1500,
              settings: {
                slidesToShow: 2,
                slidesToScroll: 1,
              }
            },
            {
              breakpoint: 1000,
              settings: {
                slidesToShow: 1,
                slidesToScroll: 1,
              }
            }]
    });
});
Run Code Online (Sandbox Code Playgroud)

有人会知道如何解决这个问题吗?谢谢!

Mar*_*sky 10

最后,我得到了光滑的创造者Ken Wheeler自己的回答.触发可折叠内容时,只需调用以下行:

$('.slider-class').slick('setPosition');
Run Code Online (Sandbox Code Playgroud)

...并将"slider-class"替换为滑块的类名.我个人用这条线创建了一个角度函数,并用ng-open触发它.

  • 如果您的圆滑功能中有其他设置,您会怎么做? (2认同)
  • 我收到此错误:未捕获的TypeError:无法在maythrow的HTMLDocument.eval(hotelPage.js:72)上读取jQuery.fn.init.i.fn.slick(slick.min.js:4)上未定义的属性'setPosition' (jquery.js:3534)正在处理(jquery.js:3602) (2认同)