ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

给网站加轮播图:slick 从引入到上线的实操上手

给网站加轮播图:slick 从引入到上线的实操上手 给网站加轮播图slick 从引入到上线的实操上手【免费下载链接】slickthe last carousel youll ever need项目地址: https://gitcode.com/GitHub_Trending/sl/slickslick 是一个基于 jQuery 的响应式轮播库几行配置就能拿到支持触摸滑动、无限循环、自动播放的 slick 轮播。如果你的项目是普通 HTML 或 jQuery 页面需要加首页横幅或产品轮播下面这条路径可以直接照着做。slick 轮播在你的页面里做什么它接管的是一行普通的div把这些内容变成可滑动的轮播把一排 div 变成轮播。你手里有一排图片或卡片等着摆放时用它。触摸滑动、键盘方向键导航都是自带的。轮播要同时跑在手机和电脑上时用它。不同屏幕宽度可以显示不同数量。一个页面兼顾桌面和移动端时用它。自动播放、懒加载、缩略图联动都内置。首屏要自己动起来时用它。选型上多说一句项目里已经有 jQueryslick 是最省事的选择不想带 jQuery可以看 Swiper只有两三张图要轮播的话原生 CSS 的scroll-snap也够用不必引库。动手前确认环境、结构和目标三件事1. 你的项目环境slick 依赖 jQuery。项目里已有 jQuery就只需引入它自己的两个文件没有的话要么把 jQuery 一起带上要么换库。拿到文件的两种方式# 方式一clone 仓库取 slick/ 目录下的文件 git clone https://gitcode.com/GitHub_Trending/sl/slick # 方式二npm 安装从 node_modules 里拷贝 npm install slick-carousel需要的是 slick/slick.css、slick/slick-theme.css箭头和圆点样式和 slick/slick.min.js 这三个文件路径按你的构建工具放好。2. 你的内容结构容器里每一个直接子元素就是一张幻灯片不用特殊 class。最小结构长这样section classslider divimg src1.jpg alt横幅 1/div divimg src2.jpg alt横幅 2/div divimg src3.jpg alt横幅 3/div /section3. 你的目标效果先用一句话写清楚比如一屏一张图、4 秒自动播、无限循环、手机上保持一张。这句话决定后面所有参数先想好再动手。三步让 slick 轮播第一次跑起来第一步引入文件在/head前放slick.css和slick-theme.css在/body前依次放 jQuery 和slick.min.js顺序不能反。第二步挂结构把上一节的三 div 结构放进页面任意位置。第三步初始化选择器改成你自己容器的$(function() { $(.slider).slick({ dots: true, // 显示底部圆点 infinite: true, // 无限循环 slidesToShow: 1 // 一屏显示一张 // 其余参数先不碰 }); });此时页面上应该出现一屏一张的轮播左右可滑底部三个圆点随切换高亮。✅ 到这里你已经有了一个能用的基础版。按三个常见页面场景调 slick 轮播参数场景一首屏大图。网站顶部横幅一张大图慢慢淡入淡出。改四个参数fade: true改成淡入淡出切换默认是横滑speed: 600淡入效果比默认 500ms 稍慢一点观感更稳autoplay: true开启自动播autoplaySpeed: 4000定 4 秒一张。改完后鼠标悬停会自动暂停播放这个行为由pauseOnHover提供默认就是开的不用写。场景二产品或卡片列表。桌面一屏四张卡手机上变一张。只贴和默认值不同的参数$(.product).slick({ slidesToShow: 4, slidesToScroll: 1, // 一次只滑一张 responsive: [ { breakpoint: 1024, settings: { slidesToShow: 3 } }, { breakpoint: 600, settings: { slidesToShow: 1 } } ] });改完桌面显示 4 张、平板 3 张、手机 1 张圆点数量跟随当前屏数变化。场景三带缩略图的导航布局。主图下方一排缩略图点小图切大图双向联动$(.main).slick({ asNavFor: .thumb, arrows: false, fade: true }); $(.thumb).slick({ asNavFor: .main, // 互相绑定 centerMode: true, // 当前项居中放大 focusOnSelect: true, // 点击缩略图即切换 slidesToShow: 5 });效果是缩略图行中间一张突出点缩略图主图切走点主图箭头缩略图也跟着滚动。三个大概率会踩的 slick 轮播坑⚠️ 这几个都是真实高频问题逐个对号入座坑一图片溢出滑块或者几张图高度参差。原因是img默认是行内元素slick 不会主动约束它的宽度。一行 CSS 解决示例页 index.html 里也写了这条规则.slick-slide img { width: 100%; }坑二手机上滑轮播和页面滚动抢手势时灵时不灵。原因是判定水平滑动的阈值touchThreshold默认 5px手指大小不同感受差别大。把touchThreshold: 10加上阈值大一点更稳这里容易忘。坑三用 DOM 操作直接增删幻灯片圆点数量和布局全乱。原因是 slick 初始化时缓存了幻灯片状态你绕开它改 DOM 它不知道。改用库自带的方法.slick(slickAdd, div.../div)加一张.slick(slickRemove, 索引)删一张。轮播页上线前的自检清单真机上试一遍左右滑、点箭头、点圆点三个手势都要能触发别只信模拟器用 Tab 键能依次聚焦到箭头和圆点方向键能切换键盘导航由accessibility提供默认开启检查没被关掉即可大图配了懒加载且单张压缩到几百 KB 以内lazyLoad默认就是ondemand确认data-lazy写对了自动播放在页面失去焦点时会暂停pauseOnFocus默认开启多标签页场景下验证一下构建产物里 slick 三件套js 加两个 css体积在预期内jQuery 没有重复打包375 / 768 / 1200 三个宽度各截一次图responsive断点没有漏档延伸与参考slick 源码入口全部默认参数在文件开头示例页一个页面放了八种轮播配置主题样式箭头和圆点外观改这里核心样式slick 基础类都在这官方 README完整参数表打开你的项目先把第四章那三步的代码跑一遍一分钟后就能看到第一个轮播。【免费下载链接】slickthe last carousel youll ever need项目地址: https://gitcode.com/GitHub_Trending/sl/slick创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表