gpt4 book ai didi

javascript - Slick Carousel - 通过外部命令禁用控件和交互

转载 作者:行者123 更新时间:2023-11-30 11:48:04 24 4
gpt4 key购买 nike

我正在学习 JavaScript,但我遇到了一个我不知道如何处理的简单问题。

我想要实现的是“保持”或“卡住”幻灯片,从而在用户的愿望。通过单击此按钮,用户可以使用 slider 启用或禁用导航控件。

因此,一旦单击此按钮,用户就无法在幻灯片上导航。用户必须再次单击 按钮 才能启用控件。

这是我到目前为止得到的:

jQuery(document).ready(function($) {
$('.slider').slick({
infinite: true,
fade: false,
centerMode: true,
variableWidth: true,
slidesToShow: 3,
slidesToScroll: 1,
arrows: false,
autoplay: false
});
});

var hold = false;

$('#hold').click(function() {
$(this).attr("class", "active disabled");

if (hold == false) {
$('.slider').slick({
accesibility: false,
draggable: false,
swipe: false,
touchMove: false
});
hold = true;

} else {
$('.slider').slick({
accesibility: true,
draggable: true,
swipe: true,
touchMove: true
});
hold = false;
$("#hold").attr("class", "disabled");
}

});
.card {
margin: 10px;
padding: 50px 100px;
background-color: silver;
color: white;
}

.active {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src='//cdn.jsdelivr.net/jquery.slick/1.5.7/slick.min.js' type='text/javascript'></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.9/slick.css" />

<div class="slider">
<h1 class="card">1</h1>
<h1 class="card">2</h1>
<h1 class="card">3</h1>
<h1 class="card">4</h1>
<h1 class="card">5</h1>
</div>

<button id="hold" class="disabled">HOLD</button>

我可能错过了什么?

非常感谢您的帮助!

最佳答案

使用 slickSetOption设置一个独立的值。请参阅 http://kenwheeler.github.io/slick/Methods 部分

下面是一个工作示例。

var slider = $("#slider");
slider.slick({
arrows: false,
centerMode: true,
infinite: true,
slidesToShow: 3,
slidesToScroll: 1,
variableWidth: true
});

var hold = false;
$("#hold").click(function() {
slider.slick("slickSetOption", "accessibility", hold);
slider.slick("slickSetOption", "draggable", hold);
slider.slick("slickSetOption", "swipe", hold);
slider.slick("slickSetOption", "touchMove", hold);

hold = !hold;

$(this).toggleClass("disabled");
});
h1 {
background-color: silver;
color: white;
margin: 10px;
padding: 50px 100px;
}

.disabled {
color: red;
}
<link href="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js"></script>
<div id="slider">
<h1>1</h1>
<h1>2</h1>
<h1>3</h1>
<h1>4</h1>
<h1>5</h1>
</div>
<button id="hold">HOLD</button>

关于javascript - Slick Carousel - 通过外部命令禁用控件和交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40272476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com