JS如何实现走马灯

走马灯思路和轮播图是一样的

先获取内容区域,可视区域的宽度

javascript 复制代码
// 获取内容区宽度
		contentWidth = $("#afficheContent")[0].scrollWidth;
		// 获取可视区宽度
		windowWidth = $("#afficheWindow")[0].offsetWidth;
		position = windowWidth;

首先判断内容区域是否小于可视区域,这样的话就没必要使用走马灯了

javascript 复制代码
function marquee() {
	if (contentWidth <= windowWidth) {
		clearInterval(affichTime)
		return
	}
	// 每次减少位置,模拟左移
	position -= 2;
	if (position < -contentWidth) {
		// 如果滚动到最左边,重新从右边开始
		position = windowWidth;
	}
	// 通过 transform 控制滚动
	$("#afficheContent").css("transform", `translateX(${position}px)`);
}

每次向左移动2(这里可以自己调,也可以在定时器内调他的速度),如果他的移动长度大于他内容区域的长度,就相当于已经轮播完毕了。之后进行重置。

定时器

javascript 复制代码
affichTime = setInterval(marquee, 20);
相关推荐
沐知全栈开发21 小时前
Perl 数据库连接
开发语言
森叶1 天前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
qq_316837751 天前
uni.chooseMedia 读取base64 或 二进制
开发语言·前端·javascript
方圆工作室1 天前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
Zoey的笔记本1 天前
2026告别僵化工作流:支持自定义字段的看板工具选型与部署指南
大数据·前端·数据库
小二·1 天前
Python Web 开发进阶实战:混沌工程初探 —— 主动注入故障,构建高韧性系统
开发语言·前端·python
Lkygo1 天前
LlamaIndex使用指南
linux·开发语言·python·llama
进阶小白猿1 天前
Java技术八股学习Day20
java·开发语言·学习
gis开发1 天前
【无标题】
java·前端·javascript
小二·1 天前
Python Web 开发进阶实战:低代码平台集成 —— 可视化表单构建器 + 工作流引擎实战
前端·python·低代码