我想在桌面上禁用滑块,但需要在移动设备中滑动,你可以帮帮我吗?
$('.slider').slick({
slidesToShow: 5,
slidesToScroll: 1,
autoplay: false,
autoplaySpeed: 2000,
responsive: [
{
breakpoint: 767,
settings: "unslick"
}
]
});
答案 0 :(得分:9)
比当前接受的答案更清晰的解决方案:添加mobileFirst: true,
选项:
$('.slider').slick({
slidesToShow: 5,
slidesToScroll: 1,
autoplay: false,
autoplaySpeed: 2000,
mobileFirst: true,
responsive: [
{
breakpoint: 767,
settings: "unslick"
}
]
});
这将从低分辨率开始解释断点设置,就像想要的那样。
请参阅Slick documentation中的设置部分。
答案 1 :(得分:7)
试试这个:屏幕宽度9999px到768px不会是滑块
('.slider').slick({ slidesToShow: 5, slidesToScroll: 1, autoplay: false, autoplaySpeed: 2000, responsive: [ { breakpoint: 9999, settings: "unslick" }, { breakpoint: 767, settings: { slidesToShow: 3, slidesToScroll: 3, infinite: true, dots: true } } ] });
答案 2 :(得分:2)
不幸的是我的#user1506075版本没有错误。我用这种方式解决了这个问题:
$slickGreen = false;
function greenSlider(){
if($(window).width() < 991){
if(!$slickGreen){
$(".greenSlider").slick({
dots: false,
arrows: false,
slidesToShow: 3,
slidesToScroll: 1
});
$slickGreen = true;
}
} else if($(window).width() > 992){
if($slickGreen){
$('.greenSlider').slick('unslick');
$slickGreen = false;
}
}
};
$(document).ready(function(){
....
greenSlider();
});
$(window).on('resize', function(){
....
greenSlider();
});
答案 3 :(得分:0)
将您的代码放在if
下面,如下所示::
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
$('.slider').slick({
slidesToShow: 5,
slidesToScroll: 1,
autoplay: false,
autoplaySpeed: 2000,
responsive: [
{
breakpoint: 767,
settings: "unslick"
}
]
});
}
参考:: link
答案 4 :(得分:0)
我遇到了类似的问题并用enquire.js解决了这个问题(轻量级 - 大约0.8kb,用于响应CSS媒体查询的纯JavaScript库)
基于此GitHub线程和this comment中的讨论,我特意使用enquire.js实现了解决方案:
$slider = $('#your-slider');
enquire.register('screen and (max-width: 767px)', {
match : function() {
if ( !$slider.hasClass('slick-initialized') ) {
$slider.slick(SliderSettings);
}
},
unmatch : function() {
if ( $slider.hasClass('slick-initialized') ) {
$slider.slick('unslick');
}
}
});
SliderSettings是选项图,如你的情况:
{
slidesToShow: 5,
slidesToScroll: 1,
autoplay: false,
autoplaySpeed: 2000
}
答案 5 :(得分:0)
所有答案的优雅汇编。 Codepen
// setup
var sliderElem = $(".slider"),
sliderBool = false,
sliderBreakpoint = 670,
sliderSettings = {
arrows: false,
dots: true,
autoplaySpeed: 3000,
mobileFirst: true,
responsive: [
{
breakpoint: sliderBreakpoint,
settings: "unslick"
}
]
};
function sliderInit() {
if (window.innerWidth <= sliderBreakpoint) {
if (sliderBool == false) {
sliderElem.slick(sliderSettings);
sliderBool = true;
}
} else {
sliderBool = false;
}
}
// resize
$(window).resize(function () {
sliderInit();
});