当前位置: 首页 > news >正文

使用HTML、CSS和JavaScript创建滚动弹幕效果

使用HTML、CSS和JavaScript创建滚动弹幕效果

在现代网页设计中,滚动文本是一种常见的动态效果,可以吸引用户的注意力并增强交互体验。在这篇博客文章中,我们将详细介绍如何使用HTML、CSS和JavaScript实现滚动文本效果。

效果

在这里插入图片描述

步骤1:设置HTML结构

我们首先需要创建一个基本的HTML结构,包含多个滚动的文本框。以下是示例代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="index.CSS">
</head>
<body><div class="container"><div class="box"><span>HTML</span><span>CSS</span><span>JS</span><span>JavaWeb</span><span>MySQL</span><span>Java</span><span>Python数学建模</span><span>C语言</span></div><div class="box"><span>HTML</span><span>CSS</span><span>JS</span><span>JavaWeb</span><span>MySQL</span><span>Java</span><span>Python数学建模</span><span>C语言</span></div><div class="box"><span>HTML</span><span>CSS</span><span>JS</span><span>JavaWeb</span><span>MySQL</span><span>Java</span><span>Python数学建模</span><span>C语言</span></div></div><script src="index.JS"></script>
</body>
</html>

代码解析

  • <div class="container">:这个容器将包含所有的滚动文本框。
  • <div class="box">:每个box类的div包含了一组要滚动的文本。

步骤2:添加CSS样式

接下来,我们为文本框和容器添加样式,以确保它们的外观和行为符合预期。以下是CSS代码:

* {margin: 0;padding: 0;box-sizing: border-box;
}body {display: flex;justify-content: center;align-items: center;height: 100vh;font-family: '江城律动黑';font-size: 16px;
}.container {position: relative;display: flex;width: 700px;height: 150px;overflow: hidden;mask-image: linear-gradient(90deg, transparent, red 20%, red 80%, transparent);background-color: aqua;cursor: pointer;
}.container div {position: absolute;width: 700px;white-space: nowrap;left: 0;
}.container div:nth-of-type(1) {top: 20px;
}.container div:nth-of-type(2) {top: 60px;
}.container div:nth-of-type(3) {top: 100px;
}.container span {display: inline-block;white-space: nowrap;letter-spacing: .2em;padding: 5px 10px;margin: 0 10px;background-color: white;border-radius: 10px;
}

样式解析

  • 基本样式:重置了默认的边距和填充,以避免浏览器差异。
  • .container:设置为相对定位,使其中的文本框可以绝对定位。使用mask-image创建一个渐变遮罩,增加视觉效果。
  • .box:每个文本框的位置通过绝对定位来设置,便于实现动画效果。
  • .span:文本元素的样式,包括背景色和边角圆润效果。

步骤3:实现JavaScript功能

最后,我们将使用JavaScript为文本框添加移动效果。以下是JavaScript代码:

const boxElements = document.getElementsByClassName("box");
const box_1 = boxElements[0];
const box_2 = boxElements[1];
const box_3 = boxElements[2];function moveBox(element) {// 移动到左侧element.style.left = "-130%";// 设置过渡效果element.style.transition = "left 5s";// 等待一段时间后,移动到右侧setTimeout(() => {element.style.left = "120%";// 移除过渡效果element.style.transition = "left 0s";// 再次调用函数形成循环setTimeout(() => moveBox(element), 200);}, 4500);
}// 分别调用moveBox函数,设置不同的延迟时间
setTimeout(() => moveBox(box_1), 2000);
setTimeout(() => moveBox(box_2), 3700);
setTimeout(() => moveBox(box_3), 4800);

功能解析

  • 获取元素:通过getElementsByClassName获取所有的文本框。
  • moveBox函数:负责将文本框向左移动并再移动到右侧,形成循环。
  • 动画效果:通过setTimeout设置动画的时延,以确保不同文本框的滚动效果不重叠。

总结

通过以上步骤,成功创建了一个动态滚动文本效果,使网页更具吸引力。这个效果可以用于展示信息、提示、或者任何你想要用户注意的内容。希望你能在自己的项目中实现这个功能,欢迎分享你的经验和想法!

http://www.lryc.cn/news/459546.html

相关文章:

  • 【C语言】--数组
  • 面向B2B市场的Spring Boot医疗病历系统开发
  • 闭着眼学机器学习——支持向量机分类
  • 今日指数项目day8实战权限管理器(上)
  • 《机器学习与数据挖掘综合实践》实训课程教学解决方案
  • linux中软连接和硬链接的区别
  • #Swift 对比 Static 在Swift 和 OC中的用法
  • yakit使用教程(三,端口探测和指纹扫描)
  • 一维数组的引用
  • Vue3 watch 监视属性
  • 大数据-158 Apache Kylin 安装配置详解 集群模式启动
  • PHP商会招商项目系统一站式服务助力企业腾飞
  • pnpm 和 npm
  • 笔试算法总结
  • mybatisPlus对于pgSQL中UUID和UUID[]类型的交互
  • vue3 高德地图标注(飞线,呼吸点)效果
  • 程序员成长秘籍:是迈向管理巅峰,还是深耕技术架构?
  • xargs的参数及常用命令
  • FLASK 数据库建立以及部署和表的创建
  • 微信小程序的面试题
  • udp c语言实现组播的例子
  • ffmpeg面向对象——AVInputFormat与URLProtocol啥关系
  • 【高阶数据结构】二叉树进阶探秘:AVL树的平衡机制与实现详解
  • 中级软考软件设计师真题+模拟题+课件讲解+机考讲解模拟+笔记分享
  • MySQL—视图
  • 鸿蒙OS启动流程
  • 服务器数据恢复—EMC存储RAID5磁盘阵列数据恢复案例
  • 使用 `netcat`(nc)工具进行TCP数据发送和接收
  • Linux虚拟化技术嬗变综述
  • .NET 通过C#设置Excel工作表的页面设置