jQuery每几秒随机高亮列表单词的方法
基于jQuery,将分隔符连接的字符串拆分为独立单词并用span包裹,通过setInterval定时器每隔1 5秒随机移除并添加高亮类,实现单词动态循环高亮。需注意用 text()提取文本、去除首尾空格,并配合CSS过渡动画增强视觉效果。
这种需求非常普遍:将一段由分隔符连接的字符串拆分成独立单词,每个单词用 包裹,再通过定时器随机选取一个单词添加高亮样式,循环切换,从而实现动态视觉强调效果。该交互广泛应用于产品介绍页、关键词强调场景、教学提示等页面。
实现“每几秒随机高亮一个单词”的核心步骤只有三步:解析文本 → 构建DOM结构 → 定时切换高亮。下面以jQuery完整方案为例,提供可直接运行的代码。
✅ 步骤一:将原始文本结构化
首先,从容器中提取纯文本内容(务必使用 .text() 方法而非 .html(),避免误解析内部HTML标签),然后按“ - ”分隔符分割成单词数组,再用 包裹每个单词,最后重新插入DOM。
const $container = $("#highlight-list");
const words = $container.text().split(" - ");
const html = words.map(word => `${word.trim()}`).join(" - ");
$container.html(html);
⚠️ 注意:使用
.text()提取内容可确保安全;.trim()清除首尾空格,使结果更健壮。
✅ 步骤二:定时随机高亮
使用 setInterval 定时器,每1.5秒执行一次高亮逻辑。流程:先移除所有 .highlight 类,再随机生成索引,为对应 添加高亮类。
setInterval(() => {
const $spans = $("#highlight-list > span");
$spans.removeClass("highlight");
const randomIndex = Math.floor(Math.random() * $spans.length);
$spans.eq(randomIndex).addClass("highlight");
}, 1500);
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
JavaScript数组字面量与构造函数创建稀疏数组的差异
数组字面量创建稠密数组,空位默认为undefined;Array()构造函数传入单个数字参数会生成稀疏数组,索引不存在且遍历方法跳过,多参数或非数字参数则行为与字面量一致。初始化稠密数组应使用Array from或fill。
如何优化Bootstrap按钮的焦点状态环CSS样式方法详解
Bootstrap按钮焦点样式优化需将内阴影改为外发光,覆盖所有焦点选择器避免原生蓝边闪烁。使用:focus-visible区分键盘与鼠标交互,同时处理按钮组圆角、父容器溢出及浏览器兼容性,确保焦点反馈清晰且符合无障碍标准。
Less中强制转换CSS单位适配不同移动端方案详解
Less单位转换需手动完成:用unit()剥离单位,通过变量控制基准值,再拼接目标单位。px2rem函数须区分输入类型(纯数字、带px单位等),基准值@base-font-size需全局定义且不可在媒体查询中重定义。所有运算发生在编译期,适配需提前编译多套CSS文件。
Vue 插件开发与使用完整指南
Vue插件通过install方法为应用注入全局属性、组件、指令、混入和provide等扩展能力,注册时机须在createApp之后、mount之前。插件支持对象或函数形式,使用app use()注册。开发时需注意命名冲突、配置默认值及错误处理,确保工程健壮性。
CSS响应式视频全屏黑边排版问题解决方案
CSS响应式视频全屏黑边源于盒子模型、定位与加载策略缺失。需重置body边距及溢出,父容器用position:fixed与100dvh,video设为block+object-fit:cover。autoplay需加muted、playsinline。移动端用100dvh防地址栏抖动,低端机分辨率不超1倍。
- 热门数据榜
相关攻略
2026-07-25 22:10
2026-07-25 22:09
2026-07-25 22:09
2026-07-25 22:09
2026-07-25 22:09
2026-07-25 21:26
2026-07-25 21:26
2026-07-25 21:26
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

