为什么要用slick而不用swiper?因为swiper2在移动端滑动时容易出现卡顿,所以不太适合移动端,swiper3虽然解决了移动端的卡顿问题,但因为只兼容到IE10+,所以在pc端的兼容性又不是很好。而slick插件则不存在这种问题,它是一款基于jquery 1.7及以上版本的选项卡插件,它的兼容性良好,适用于火狐、chrome、Safari 和IE8及以上的pc端浏览器,同样在移动端的使用也不存在问题。
1.引入slick插件:
首先,正如文章开头所说,想要使用slick插件,必须加载jquery1.7以上的版本。其次,slick插件的引入方式和swiper插件一样,需要在头部添加以下代码:
<link rel="stylesheet" type="text/css" href="文件路径/slick.css">
<script type="text/javascript" src="文件路径/slick.js">
如果你还想使用slick插件的一些默认设置,例如默认的箭头样式,那么你还需再要加上:
<link rel="stylesheet type="text/css" href="文件路径/slick-theme.css">
2.使用slick插件:
如果将slick插件和swiper插件进行一番比较,会发现相比swiper,slick的各方面都要简单一些,就像使用方法。例如我们想要让一个含有两张图片——1.jpg和2.jpg的div(它的类名设定为“pic”),那么swiper插件需要如下操作:
<div class="pic swiper-container">
<div class="swiper-wrapper>
<div class="swiper-slide"><img src="img/1.jpg"> </div>
<div class="swiper-slide"><img src="img/2.jpg"></div>
</div>
</div>
可以看出,如果想要使用swiper,那么就需要给标签加很多类名,而slick的使用方法则很简单,只需要一句话:
$('.pic').slick();
这样后,再在网页中检查元素时,会发现slick的类名都是是自动加上去的。
3.修改slick的css样式:
修改slick的css样式,一般会通过.slick-slick{}和.slick-list{}来控制,例如在slick插件里进行拖拽时,会出现默认的蓝色边框,如图:
那么这时,就需要加上 .slick-slide:focus { outline:none;}
来解决。
4.修改slick的属性:
swiper修改属性的方式是通过初始化,例如我们想要取消swiper的循环属性,那么需要如下代码:
var mySwiper = new Swiper('.swiper-container',{
loop:false
});
而slick虽然也是通过初始化的方式,但它直接在括号里面编写即可:
$('.pic').slick({
infinite:false
});
当然如果不想初始化,用$('.pic').slick('slickSetOption', 'infinite', false);
也可以更改。
slick和swiper在属性的配置方面页有差异,例如:
slick有
pauseOnHover(当鼠标指针悬停在被选滑块上时暂停自动播放),pauseOnDotsHover(当鼠标指针悬停在列表圆点上时暂停自动播放),dots(增加列表圆点),rtl(改变滑块的滑动方向)
而swiper有
autoplayStopOnLastautoplay(当滑动到最后一个滑块时停止自动拨反复)scrollbarDraggable(通过拖拽滚动条来实现选项卡的滑动)
最后提醒一点,swiper支持3D效果,slick则不支持3D效果。
附上slick常用属性的翻译:
1.accessibility为 true时,可以通过键盘的tab键和方向键进行操作
2.adaptiveHeight为true时,每个滑块的高度与内容的高度相一致
3.autoplay为true时,可以使选项卡自动滑动
4.cssEase为'ease'时,采用css3的ease属性,即滑动的时候滑块的速度逐渐变慢
5.edgeFriction为0时,滑动到最后一张图片时,图片不能再滑动。
6.infinite为false时,不能无限循环。
7.initialSlide为1时,就从第1张滑块开始滑动。
8.swipe为false时,选项卡不能滑动。