• 轮播插件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动画缓动
    customPaging function n/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设置每行应有多少张幻灯片。(轮播行数)
    slide element '' 元素查询用作幻灯片
    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,  //是否开启垂直滑动切换
    
        });
    

      

     方法使用示例Function:

    方法 对象 说明
    beforeChange slick, 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>

    效果图:

    方法 对象 说明
    slickGoTo int : 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');
        });
    

      

  • 相关阅读:
    Oracle和SQLServer中实现跨库查询
    sqlserver中创建链接服务器
    无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它
    Win8系统运行程序提示“占位程序接收到错误数据”的解决方法
    设计模式——简单工厂模式
    设计模式——单例模式
    设计模式——观察者模式
    三一集团提前批java面经
    form表单传到后端的数据乱码
    Failed to obtain the JDBC Connection + Access denied for user 'XXX'@'localhost' (using password: YES)
  • 原文地址:https://www.cnblogs.com/chalkbox/p/13159637.html
Copyright © 2020-2023  润新知