You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现左右滑动滑块切换展示两张重叠照片的对比效果?

检索关键词
  • 中文检索:图片对比滑块、前后图滑动对比效果
  • 英文检索:Before After Image Slider、Image Comparison Slider
基础实现逻辑
  • 布局:将两张待对比的图片放在同一个父容器内重叠摆放,底层放置默认展示的右侧图片,上层放置左侧展示的图片,上层图片容器设置overflow: hidden属性,仅展示指定宽度范围内的内容
  • 交互控件:在父容器内加入滑块元素,层级高于两张图片,支持鼠标/触摸拖动
  • 逻辑同步:监听滑块的拖动事件,将滑块距离父容器左侧的偏移值,同步设置为上层图片容器的宽度,即可实现滑块左侧显示上层图、右侧显示底层图的对比效果
入门学习路径(优先文字教程)

建议先从无框架的原生HTML/CSS/JS版本入手,核心逻辑最容易理解:

  1. 搭建基础HTML结构:1个外层父容器,内部包含2个img元素(分别对应两张对比图)、1个滑块元素
  2. 编写CSS样式:父容器设置为相对定位,两张图片均设置为绝对定位且宽高和父容器匹配,上层图片容器设置overflow: hidden,滑块设置为绝对定位、层级最高,可自定义拖拽手柄样式
  3. 实现JS交互:给滑块绑定按下事件(mousedown/touchstart),触发后全局监听移动事件(mousemove/touchmove),实时计算当前触点距离父容器左侧的偏移值,同步赋值给上层图片的宽度和滑块的left属性;绑定松开事件(mouseup/touchend),解绑移动监听避免误触发
  4. 优化细节:增加边界判断,限制偏移值不能小于0也不能大于父容器总宽度,避免出现显示异常

如果需要视频教程,在YouTube搜索上述英文关键词加tutorial后缀即可找到对应内容。


内容的提问来源于stack exchange,提问作者Emma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:09:02