ARTICLE DETAIL

资讯详情

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

Slick 实战指南:5 分钟搭出响应式轮播

Slick 实战指南:5 分钟搭出响应式轮播 Slick 实战指南5 分钟搭出响应式轮播【免费下载链接】slickthe last carousel youll ever need项目地址: https://gitcode.com/GitHub_Trending/sl/slick给客户的产品页加轮播自己写拖拽手势、断点适配半天就没了。Slick 是个基于 jQuery 的轮播插件两行配置就能把一组静态图片变成可拖拽的轮播。先认识一下这个插件Slick 的口号是the last carousel youll ever need意思就是把前端轮播这件事一次做完。它不绑任何框架唯一依赖是 jQuery 1.8 以上仓库里 CSS、JS、箭头图标字体都是成品文件浏览器支持到 IE8老系统也能跑。它本身能做什么触摸与鼠标拖拽断点响应式配置自动播放、悬停暂停图片懒加载无限循环、垂直方向动态增删幻灯片文件怎么取用仓库 slick/ 目录下是全部成品slick.css 是核心样式slick-theme.css 是箭头和圆点的默认外观想要自己的风格还有 slick.less 和 slick.scss 源码可以改不用硬覆盖 CSS。注意最新版 2.0 还没发布到 npm 和 Bower用 npm 装到的是 1.8.x想直接用最新版从仓库拿文件即可。克隆仓库跑通第一个轮播最快路径打开自带演示页根目录的 index.html 就是一个完整的 Slick 轮播 demo不用装任何依赖克隆下来直接用浏览器打开git clone https://gitcode.com/GitHub_Trending/sl/slick页面里横向、垂直、居中、变宽、懒加载等 10 个轮播都摆好了拖动浏览器窗口改宽度布局会跟着断点自动切换。每个 demo 的写法就藏在页面底部的 script 里看懂一个等于学会一种配置。在自己的页面里初始化正式项目里就三步引 jQuery 和仓库的 slick.css、slick.min.js把图片放进带 class 的容器然后调 .slick() 传配置。顺序只有一条硬规则slick.min.js 必须晚于 jQuery 加载。具体配置怎么写下面按场景拆。把静态图片组变成轮播图首页要一个自动轮播的 Banner客户要求不点也能动、鼠标放上去就停。两行配置完成初始化初始化的核心就是 .slick() 加一个配置对象$(.banner).slick({ autoplay: true, autoplaySpeed: 3000, fade: true, dots: true });页面一刷新Banner 每 3 秒淡入淡出切一帧下方出现圆点指示器鼠标悬停自动暂停——pauseOnHover 默认就是开的不用额外写。看到效果后还能调什么不想要淡入淡出就把 fade 关掉slidesToShow 设成 3 就是一次显示 3 张的多图轮播speed 管过渡时长infinite 管滑到头回不回头。如果每帧高度不一致加 adaptiveHeight: true容器高度会跟着当前帧走底部不会留白。完整选项表在 README.markdown 的 Settings 里按需求对号入座。搭好响应式轮播断点这样配同一组商品图桌面 3 张、平板 2 张、手机上把轮播直接拆掉——以前得靠媒体查询手动藏元素现在一个 responsive 数组全包了。一个数组管所有断点$(.goods).slick({ slidesToShow: 3, responsive: [ { breakpoint: 1024, settings: { slidesToShow: 2, dots: true } }, { breakpoint: 600, settings: unslick } ] });窗口宽于 1024 显示 3 张缩到平板出 2 张并加上圆点低于 600 直接拆掉轮播、还原成普通列表。unslick 是个合法取值专门用来在某个断点销毁滑块比你自己写判断省事。按设计稿方向选 mobileFirst默认断点从桌面往小屏递减计算如果设计稿是移动优先加一个 mobileFirst: true断点含义就从以下生效翻成以上生效。轮播嵌在侧边栏这类固定容器里时再把 respondTo 从 window 改成 slider让它按容器宽度而不是窗口宽度判断不然缩窗口时轮播不该变也会变。后台加商品前端不用重发版运行时增删幻灯片商品列表是接口拉回来的新上架一张图就得让轮播实时加帧。Slick 的方法都挂在 .slick() 的第二个参数上$(.goods).slick(slickAdd, divimg srcnew.png/div); var current $(.goods).slick(slickCurrentSlide); $(.goods).slick(slickRemove, 1);slickAdd 把新幻灯片塞到末尾slickRemove 按索引删一帧slickCurrentSlide 拿当前位置——布局自动重算不用重新初始化。列表很长的话顺手把 lazyLoad 设成 ondemand真实图片只在滑到那一帧时才请求省流量。顺便把埋点挂上beforeChange、afterChange 事件里能拿到 currentSlide 和 nextSlide 两个索引做曝光埋点正好。注意事件要用 .on() 在 .slick() 初始化之前绑好绑晚了第一次触发就拿不到。用上这几个进阶技巧双轮播联动详情页的主图加大图缩略图栏用 asNavFor 把两个轮播挂在一起$(.thumb).slick({ asNavFor: .main, arrows: false, slidesToShow: 5 });点缩略图主轮播跳到对应帧滑主图缩略图栏的高亮也跟着走两边状态永远同步自己一行状态代码都不用写。更省事的两种写法如果你不想把配置写两遍可以塞进 HTML 属性 contenteditable="false">【免费下载链接】slickthe last carousel youll ever need项目地址: https://gitcode.com/GitHub_Trending/sl/slick创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表