mig*_*igs 4 javascript mouse scroll carousel slick.js
使用slick.js实现滚动的最佳方法是什么,这样当您使用鼠标滚动时,它会切换到下一张幻灯片?还是有一个我错过的设置?
以下是我所指的,以防万一. http://kenwheeler.github.io/slick/
Ofi*_*ora 10
您可以使用在wheel
旋转指点设备(通常是鼠标)的滚轮按钮时触发的事件来实现滚动.
const slider = $(".slider-item");
slider
.slick({
dots: true
});
slider.on('wheel', (function(e) {
e.preventDefault();
if (e.originalEvent.deltaY < 0) {
$(this).slick('slickNext');
} else {
$(this).slick('slickPrev');
}
}));
Run Code Online (Sandbox Code Playgroud)
.container {
margin: 0 auto;
padding: 40px;
width: 80%;
color: #333;
background: #419be0;
}
.slick-slide {
text-align: center;
color: #419be0;
background: white;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.0/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.0/slick/slick-theme.css" />
<script type="text/javascript" src="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.0/slick/slick.min.js"></script>
<div class='container'>
<div class='slider-item'>
<div>
<h3>1</h3>
</div>
<div>
<h3>2</h3>
</div>
<div>
<h3>3</h3>
</div>
<div>
<h3>4</h3>
</div>
<div>
<h3>5</h3>
</div>
<div>
<h3>6</h3>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我几乎没有修改以前的 Mac 答案。因为有滚动触发多次。
var slider = $(".slider-item");
var scrollCount = null;
var scroll= null;
slider
.slick({
dots: true
});
slider.on('wheel', (function(e) {
e.preventDefault();
clearTimeout(scroll);
scroll = setTimeout(function(){scrollCount=0;}, 200);
if(scrollCount) return 0;
scrollCount=1;
if (e.originalEvent.deltaY < 0) {
$(this).slick('slickNext');
} else {
$(this).slick('slickPrev');
}
}));
Run Code Online (Sandbox Code Playgroud)