淘宝Swiper小图变大图效果实现
淘宝的商品轮播图设计里,Swiper 的小图变大图效果蛮实用的,适合那种需要在滑动中放大展示商品细节的场景。你可以用它来做那种“点一下或者滑到这张图就变大,其他图还保持原样”的交互,用户体验挺顺畅的。
Swiper 插件本身就比较强大,响应也快,配置项也多,关键是手机、平板、PC 都能跑。这种效果基本就是靠CSS3 的 transform来搞缩放,再配合slideChangeTransitionStart
和slideChangeTransitionEnd
两个事件去状态切换,逻辑清晰,控制也方便。
CSS 那边主要做几件事:小图一开始就用transform: scale(0.8)
,当前激活的图缩放到scale(1)
,再加个z-index
拉到最上面,视觉效果就出来了。别忘了加transition
让缩放更柔和,看着舒服。
JS 逻辑也不复杂,监听当前swiper.activeIndex
,把激活图加个类,比如active
,再让其他图移除这个类。配合 CSS 控制缩放,互动感就出来了。你可以把主要代码写在swiper.on('slideChangeTransitionStart')
里,简洁高效。
结构上,一般放在index.html
里页面框架,css/style.css
管样式,图片放images/
,脚本放js/
,基本就是这种老四样布局,维护起来也挺顺。
还有,图片建议加个懒加载,不然一下子加载太多图影响首屏速度。你也可以试试硬件加速,比如给图片加个will-change: transform
,滑动更流畅。
如果你还没玩过类似效果,可以看看这个例子练练手,逻辑清楚、样式直观,做展示页、商品页都挺合适。
1.04MB
文件大小:
评论区