轮播插件Slick.js使用方法详解

Slick/Slick.js使用方法(个人总结)/Slick.js介绍

相比于Swiper而选择使用Slick.js的原因主要是因为其兼容不错并且在手机端的滑动效果更顺畅

官方参数介绍:官方地址

参数 类型默认值描述
accessibility布尔值TRUE启用Tab键和箭头键导航
adaptiveHeight布尔值FALSE为单滑块水平轮播启用自适应高度。
autoplay布尔值FALSE启用自动播放
autoplaySpeed数值3000自动播放速度(以毫秒为单位)
arrows布尔值TRUE上一个/下一个箭头
asNavFor字符串null将滑块设置为其他滑块的导航(类或ID名称)
appendArrows字符串$(element)更改导航箭头的附加位置(选择器,htmlString,数组,元素,jQuery对象)
appendDots字符串$(element)更改导航点的附加位置(选择器,htmlString,数组,元素,jQuery对象)
prevArrow代码段/element

<button class="slick-prev" aria-label="Previous" type="button">Previous</button>

/$('.prev-next .prev')

允许您选择节点或为“上一个”箭头自定义HTML
nextArrow代码段/element

<button class="slick-next" aria-label="Next" type="button">Next</button>

/$('.prev-next .next')

允许您选择节点或为“下一步”箭头自定义HTML。
centerMode布尔值FALSE通过部分上一张/下一张幻灯片启用居中视图。与奇数的slidesToShow计数一起使用。
centerPadding字符串'50px'处于中心模式时的侧面填充(像素或%)
cssEase字符串'ease'CSS3动画缓动
customPagingfunctionn/a自定义分页模板
dots布尔值FALSE显示圆点指示器
dotsClass字符串'slick-dots'滑动指示器点容器类
draggable布尔值TRUE启用鼠标拖动
fade布尔值FALSE启用淡入淡出
focusOnSelect布尔值FALSE启用对选定元素的关注(单击)
easing字符串'linear'为jQuery动画添加缓动。与缓动库或默认缓动方法一起使用
edgeFriction数值0.15滑动非无限轮播边缘时的阻力
infinite布尔值TRUE无限循环滑动
initialSlide数值0滑动即可开始
lazyLoad字符串'ondemand'设置延迟加载技术。接受“按需”或“渐进式”
mobileFirst布尔值FALSE响应式设置使用移动优先计算
pauseOnFocus布尔值TRUE暂停焦点自动播放
pauseOnHover布尔值TRUE悬停时暂停自动播放
pauseOnDotsHover布尔值FALSE悬停点时暂停自动播放
respondTo字符串'window'响应对象响应的宽度。可以是“窗口”,“滑块”或“最小”(两者中较小的一个)
responsive对象none包含断点和设置对象的对象(请参见演示)。在给定的屏幕宽度下启用设置设置。将设置设置为“ unslick”而不是对象,以禁用给定断点处的滑动。
rows数值1将此设置为大于1将初始化网格模式。使用slidesPerRow设置每行应有多少张幻灯片。(轮播行数)
slideelement''元素查询用作幻灯片
slidesPerRow数值1通过“行”选项初始化网格模式后,可以设置每个网格行中有多少张幻灯片
slidesToShow数值1要显示的幻灯片数量
slidesToScroll数值1要滚动的幻灯片数
speed数值(ms)300滑动/淡入淡出动画速度
swipe布尔值TRUE启用swiping
swipeToSlide布尔值FALSE允许用户直接拖动或滑动到幻灯片上,而与slidesToScroll无关
touchMove布尔值TRUE轻触即可滑动
touchThreshold数值5要推进幻灯片,用户必须滑动(1 / touchThreshold)*滑块的宽度
useCSS布尔值TRUE启用/禁用CSS过渡
useTransform布尔值TRUE启用/禁用CSS转换
variableWidth布尔值FALSE可变宽度的幻灯片
vertical布尔值FALSE垂直滑动模式
verticalSwiping布尔值FALSE垂直滑动模式
rtl布尔值FALSE更改滑块的方向以从右到左
waitForAnimate布尔值TRUE忽略动画时前进幻灯片的请求
zIndex数值1000设置幻灯片的zIndex值,对IE9和更低版本有用

基本使用:,一般使用只需前十个属性

$('.box ul').slick({
        autoplay: true, //是否自动播放
        pauseOnHover: false,  //鼠标悬停暂停自动播放
        speed: 1500,  //切换动画速度
        autoplaySpeed: 5000,  //自动播放速度
        slidesToShow: 1,  //要显示的动画速度
        swipeToSlide: true,  //允许用户直接拖动或滑动到幻灯片上
        touchThreshold: 100,  //更换幻灯片需滑动宽度(1 / touchThreshold)
        centerMode: true,  //启动居中
        centerPadding: '0', //处于中心模式时的侧面填充(像素或%)
     arrows: false, //是否开启左右切换

     draggable: true, //是否启用鼠标拖动
     rows: 2,  //显示几行,默认为 1
     vertical: false, //是否开启垂直滑动模式
     verticalSwiping: false,  //是否开启垂直滑动切换

    });

轮播效果:

fade:true // 开启渐隐切换模式
// 进阶,添加缓动
cssEase: 'cubic-bezier(0.7, 0, 0.3, 1)' // 自定义缓动
cssEase: 'linear', // 缓动库缓动

// 不间断轮播演示,即利用缓动库实现轮播没有停顿
$('#index-body .gallery .gallery-box ul').slick({
    autoplay: true,
    pauseOnHover: true,
    speed: 4000,
    autoplaySpeed: 0,
    slidesToShow: 3,
    touchThreshold: 100,
    cssEase: 'linear',
});

方法使用示例Function:

方法对象说明
beforeChangeslick, currentSlide, nextSlide更换幻灯片前触发(当前对象,当前索引,下一个索引)

将两个序列关联起来:(.list ul li是列表,.box ol 是幻灯片)

$('.box ol').on('beforeChange', function(event, slick, currentSlide, nextSlide){
  $(".list ul li").eq(nextSlide).addClass('active').siblings().removeClass('active');
    });
});

或者将两个幻灯片关联起来:

<div class="list">
    <ul class="time">
    <li class="line">2003</li>
   <li class="line">2001</li>
  <li class="line">1998</li>
    </ul>
     <div class="small"></div>
 </div>

<div class="box">
    <ol>
       <li>
        <div class="grid">
        <div class="left">
          <span>1998 year</span>
          <h4>第一个幻灯片</h4>
     <div class="con">
      1998 ind
     </div>
     <div class="more">
       <a class="prev">previous</a>
       <a class="next">next 2000</a>
     </div>
     </div>
     <div class="right">
     <div class="img-box">
       <img src="1.img">
     </div>
     </div>
     </div>
    </li>
<li>
<div class="grid">
        <div class="left">
          <span>2001 year</span>
          <h4>第一个幻灯片</h4>
     <div class="con">
      this is 2001
     </div>
     <div class="more">
       <a class="prev">previous</a>
       <a class="next">next 2000</a>
     </div>
     </div>
     <div class="right">
     <div class="img-box">
       <img src="1.img">
     </div>
     </div>
     </div>
</li>
<li>
<div class="grid">
        <div class="left">
          <span>2003 year</span>
          <h4>第一个幻灯片</h4>
     <div class="con">
      this is 2003
     </div>
     <div class="more">
       <a class="prev">previous</a>
       <a class="next">next 2000</a>
     </div>
     </div>
     <div class="right">
     <div class="img-box">
       <img src="1.img">
     </div>
     </div>
     </div>
</li>

  </ol>
</div>       

<!-- JS: -->

<script>
$('.box ol').slick({
// autoplay: true,
pauseOnHover: false,
speed: 1500,
autoplaySpeed: 5000,
slidesToShow: 1,
swipeToSlide: true,
touchThreshold: 100,
centerMode: true,
centerPadding: '0',
prevArrow: $('.box .left .more a.prev'),
nextArrow: $('.box .left .more a.next'),
});

$('.list .time').on('beforeChange', function(event, slick, currentSlide, nextSlide) {
var i = (nextSlide ? nextSlide : 0) + 1;
$(".list .small").text(i + '/' + slick.slideCount);
$('.box ol').slick('slickGoTo', nextSlide);
});
</script>

效果图:

方法对象说明
slickGoToint : slide number按索引导航到幻灯片

点击列表元素获得对应Index给幻灯片,使切换到对应的幻灯片(.list ul li是列表,.box ol 是幻灯片)

$(".list ul li").click(function() {
        $('.box ol').slick('slickGoTo', $(this).index());
        $(this).addClass('active').siblings().removeClass('active');
    });

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Slick.js 实现三张图片轮,你需要按照以下步骤进行操作: 1. 导入 Slick.js 的相关文件。包括 jQuery 库和 Slick.js 文件。 ```html <head> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css"/> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css"/> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script> </head> ``` 2. 在 HTML 中创建一个容器,用于包含轮图。 ```html <div class="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> </div> ``` 3. 使用 jQuery 选择器选择容器,并调用 Slick 方法进行初始化。 ```javascript $(document).ready(function(){ $('.slider').slick({ dots: true, infinite: true, speed: 500, slidesToShow: 1, slidesToScroll: 1 }); }); ``` 在上述代码中,我们使用Slick.js 提供的一些配置选项,比如 dots 表示是否显示轮图下方的小圆点,infinite 表示是否开启无限循环,speed 表示轮速度,slidesToShow 表示每次显示的图片数量,slidesToScroll 表示每次滚动的图片数量。 4. 根据需要自定义样式。 ```css .slider { width: 100%; height: 400px; margin: 0 auto; } .slider img { width: 100%; height: 100%; object-fit: cover; } ``` 在上述代码中,我们对容器和图片进行了一些基本的样式设置,使其适应不同的屏幕尺寸。 完成上述步骤后,你就可以在页面中看到一个包含三张图片的轮图了。如果需要调整样式或配置选项,可以根据需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值