东营码良软件开发
  • 首页
  • 产品与服务
    抖音软件
  • 开发案例
  • 新闻资讯
    二级菜单A
  • 关于我们
  • GEO 优化
  • Ai超市
咨询客服
企业咨询
会员中心
登录注册找回密码
东营码良软件开发
首页›
产品与服务›
开发案例›
新闻资讯›
二级菜单A›
关于我们›GEO 优化›Ai超市›
会员中心
首页产品与服务开发案例新闻资讯我的
Dongying Maliang Software

码良软件开发

企业软件开发·微信小程序·网站建设·GEO 优化·AI 应用落地

咨询客服

导航

  • 首页
  • 产品与服务
  • 开发案例
  • 新闻资讯
  • 关于我们
  • GEO 优化
  • Ai超市

服务

  • 软件开发定制
  • GEO 搜索优化
  • 软件资源商城
  • 会员服务
  • 在线客服

行业方案

  • 零售门店
  • 教育培训
  • 医疗健康
  • 商务服务
  • 本地生活
  • 生产制造

联系电话

1886546092715154670927

地址

山东省东营市垦利区兴隆路8-5号

扫码

码良软件开发 · 品牌入驻
品牌入驻手机端查看商城、案例与在线咨询

Copyright © 2014-2026 东营码良软件开发 Inc. 版权所有鲁ICP备2025202136号-2豫公网安备41019602002340经营许可证编号:豫B2-20190103
开发资讯 > 资讯详情

扇形图片循环预览灯箱效果演示代码

2026-10-03 10:13:53阅读 2

扇形图片循环预览灯箱效果演示代码

```xml 下面给你升级版:**可视区域固定 5 张卡片,不足 5 张循环补全,超出 5 张只显示 5 张,样式完全不变**。实现方式是卡片池固定 5 张,通过“槽位循环复用”来显示任意数量的图片,而不是之前那样渲染 N 张卡片。 ## 一、核心思路 ``` 5 个槽位:[-2] [-1] [ 0] [+1] [+2] ↑ ↑ ↑ ↑ ↑ 图片 图片 当前 图片 图片 槽位 s 显示图片 = (current + s + N) % N - N < 5:槽位会重复出现同一张图片,视觉上循环补全 - N = 5:正好 5 张 - N > 5:只有 5 张同时可见,其它通过槽位旋转进出 ``` **卡片不再按图片数量渲染,而是固定 5 个 DOM 元素。** 切换时: 1. 每张卡片的槽位 `k` 减 `delta`。 2. `k` 超出 `[-2, 2]` 的卡片绕回另一端,并重新绑定图片。 3. 从屏幕外滑入,形成循环。 ## 二、完整预览文件 保存为 `.html` 双击打开即可。 ```html 叠加灯箱画廊 · 5 槽位循环
``` ## 三、行为说明 | 图片数量 | 表现 | |---|---| | 1 张 | 5 个槽位全部显示同一张,切换无变化,点击中间可展开 | | 2~4 张 | 5 个槽位循环排列,切换时循环滚动 | | 5 张 | 正好 5 张,与上一版一致 | | 6 张以上 | 可视区域始终 5 张,其余通过左右循环进出 | ## 四、关键实现说明 1. **固定 5 张卡片**:`for (let i = 0; i 5` 时只有 5 张同时可见。 3. **循环进出**:`step(delta)` 里每张卡片的 `k` 减 `delta`,超出 `[-2, 2]` 的卡片绕到另一端,并从 `±3`(屏幕外)滑入,形成无限循环。 4. **图片懒切换**:`setCardContent()` 检查 `card.imgIdx !== idx` 才更新 `src`,避免 `N = 5` 时同一张图被反复重载而闪烁。 5. **大图与扇形同步**:`step()` 改 `current` 并更新扇形;`switchExpanded()` 读同一个 `current` 更新大图,两者天然一致。 6. **关闭对齐**:`collapse()` 用 `getCenterCard()` 找到当前 `k = 0` 的卡片作为缩回目标,保证大图还原后落在扇形正中。 ## 五、可调参数 | 想改什么 | 改哪里 | |---|---| | 卡片大小 | `:root` 的 `--card-w` / `--card-h` | | 叠加幅度、旋转 | `POS` 里的 `x / y / rot / scale` | | 外层透明度 | `POS` 里的 `op` | | 屏幕外滑入位置 | `POS['-3']` / `POS['3']` | | 拖拽层次感 | `transformString()` 里的 `0.28` / `0.22` | | 拖拽切换阈值 | `endDrag()` 里的 `Math.min(60, innerWidth * 0.12)` | | 拖拽阻尼 | `pointermove` 里的 `dx * 0.9` | ## 六、验收点 - 5 张图:和之前完全一样。 - 3 张图:扇形里能看到重复图片,切换循环滚动。 - 10 张图:始终只显示 5 张,左右切换时新图从屏幕外滑入。 - 拖拽、箭头、圆点、键盘、大图放大、大图切换、关闭对齐:全部正常。 如果你希望**圆点在图片超过 10 张时折叠成滚动条**,或者**少于 5 张时不显示重复、只显示实际数量**,告诉我,我再加一个开关。 ```
DISCUSSION

评论

登录后参与
请使用网站前台用户账号登录后发表评论。

正在加载评论...


返回列表返回资讯列表下一篇二级菜单

作者信息

超级管理
超级管理
等级作者
120文章
0点赞
0收藏
查看作者其他文章

文章展示

二级菜单二级菜单东营做去水印小程序多少钱?哪家开发公司靠谱东营做去水印小程序多少钱?哪家开发公司靠谱采用新拟态(Neumorphism)风格采用新拟态(Neumorphism)风格去水印小程序如何开发去水印小程序如何开发导航条样式源码导航条样式源码

热门排行

网站接入支付功能完整教程
1网站接入支付功能完整教程
8 阅读
GEO企业官网完整搭建实操方案(2026最新标准)2GEO企业官网完整搭建实操方案(2026最新标准)7 阅读
会员推荐关系 + 新零售商城 数据库 ER + 字段设计文档3会员推荐关系 + 新零售商城 数据库 ER + 字段设计文档15 阅读
发布内容至抖音H5场景完整申请&接入流程4发布内容至抖音H5场景完整申请&接入流程5 阅读
东营母婴商城小程序开发5东营母婴商城小程序开发13 阅读
wordpress主题网站升级6wordpress主题网站升级13 阅读