Gab*_*cio 5 wordpress jquery slick.js
我正在开发的Wordpress网站上使用Slick.js轮播。当我调整浏览器窗口的大小时,轮播无法容纳它,导致显示水平滚动条。如果我不启动Slick,则图像会相应调整大小,就像您在流畅的布局中所期望的那样。
Slick动态注入一些内联样式,其中之一是宽度。您可以看到轮播的所有子div的宽度: 光滑的内联样式
Slick的正常行为是在调整窗口大小时更新这些宽度,但是由于某些原因,它不会在此站点上发生。
这是网站的链接:http : //smart.trippple.com.br/
主页上有两个轮播,位于以下位置:
这就是我启动脚本的方式:
$('#slider-home .slider-session').slick({
autoplay: true,
autoplaySpeed: 5000,
arrows: false,
fade: true,
slidesToScroll: 1,
slidesToShow: 1,
speed: 1000
});
$('#seguradoras-carrousel .slider-session').slick({
autoplay: true,
autoplaySpeed: 2000,
arrows: false,
centerMode: true,
mobileFirst: true,
pauseOnHover: false,
slidesToShow: 4
});
Run Code Online (Sandbox Code Playgroud)
这是到目前为止我尝试过的所有事情:
尝试使用Slick的调整大小方法:
$(window).resize(function(){$('#slider-home .slider-session')。slick('resize');});
进行研究,甚至在插件的Github页面上打开一个问题。插件作者回答说脚本肯定会调整大小,问题出在我的环境中,他是对的。我创建了一个静态HTML页面进行测试,轮播的响应速度为100%。该网站上有某些东西阻止了脚本的正常运行。
顺便说一下,您不会看到Slick的样式表链接,因为我将它们嵌入到网站的主要样式表中。
任何帮助都非常感谢!我至少要解决这个问题大约两个星期,而且我不知道还能尝试什么。任何想法都欢迎。谢谢!
您尝试过光滑响应选项吗?我不知道这是否是您正在寻找的答案,但这就是我所做的,使我的滑块根据浏览器调整大小工作。
$('#seguradoras-carrousel .slider-session').slick({
autoplay: true,
autoplaySpeed: 2000,
arrows: false,
centerMode: true,
mobileFirst: true,
pauseOnHover: false,
slidesToShow: 4,
//start responsive option
responsive: [
{
breakpoint: 600, //at 600px wide, only 2 slides will show
settings: {
slidesToShow: 2,
slidesToScroll: 2
}
},
{
breakpoint: 480, //at 480px wide, only one slide will show
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
Run Code Online (Sandbox Code Playgroud)
更新为调整大小而不是刷新
你需要两个函数,一个调整大小函数和一个平滑函数
jQuery(window).on('resize', function() {
clearTimeout(resizeTimerInternal)
resizeTimerInternal = setTimeout(function() {
//add functions here to fire on resize
slickSliderWithResize();
}, 100)
});
function slickSliderWithResize() {
if (jQuery(window).width() < 1150) {
if(jQuery('.slick-slider-wrapper').hasClass('slick-initialized')) {
}
else {
jQuery('.slick-slider-wrapper').slick({
// slick options
});
}
} else {
if(jQuery('.slick-slider-wrapper').hasClass('slick-initialized')) {
jQuery('.slick-slider-wrapper').slick("unslick");
}
}
}
slickSliderWithResize();
Run Code Online (Sandbox Code Playgroud)
这应该适用于调整大小,但您需要对其进行一些编辑以适合您的滑块。滑块容器的名称(我刚刚将其命名为 slick-slider-wrapper)、slick 选项以及分解的大小(我将其设置为小于 1150px)