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);
相关推荐
SDWAN_Cheap17 分钟前
深度解析什么是CDN加速:从原理到实践的技术拆解
开发语言·cdn加速
鬼手点金18 分钟前
模型即 Agent:当模型本身成为产品
开发语言·前端·人工智能·python·机器学习
染指111031 分钟前
147.Agent-LangGraph归并函数
开发语言·人工智能·python·langchain·agents
kiracrimson37 分钟前
npm 入门:包管理器、依赖与 npx
前端·npm·node.js
Elastic 中国社区官方博客38 分钟前
教程:监控 Java 应用
java·开发语言·数据库·elasticsearch·搜索引擎·全文检索
ShineWinsu44 分钟前
对于JavaScript:初识JavaScript以及输入输出
java·开发语言·前端·javascript·css·面试·html
鲤鱼_5991 小时前
教培机构一体化运营管理系统操作手册
前端
小小安于乱1 小时前
linux中java的springboot程序获取IP地址间歇性10秒卡顿问题
java·开发语言
小白学大数据1 小时前
逆向分析短视频平台 a_bogus 参数:从 JavaScript 混淆到 Python 复现
javascript·python·音视频