原生HTML实现marquee向上滚动效果

实现原理:借助CSS3中animation动画以及原生JS克隆API

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>文字向上滚动效果</title>
    <style>
      .marquee-view {
        width: fit-content;
        height: 300px;
        background-color: #000;
        overflow: hidden;
      }

      .row {
        display: flex;
        justify-content: space-between;
        line-height: 1.05;
        color: #ffffff;
        padding: 15px;
        cursor: pointer;
      }

      .marquee {
        animation: move 5s linear infinite;
      }

      @keyframes move {
        0% {
          transform: translateY(0);
        }
        100% {
          transform: translateY(-50%);
        }
      }
    </style>
  </head>
  <body>
    <div class="marquee-view">
      <div class="marquee">
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
        <div class="row">
          <span>我是滚动文字</span>
        </div>
      </div>
    </div>
  </body>

  <script>
    const marquee = document.querySelectorAll(".marquee-view .marquee");
    marquee.forEach((item) => {
      var rows = item.children;
      // 克隆子节点并将其附加到 .marquee 元素中
      Array.from(rows).forEach((row) => {
        var clone = row.cloneNode(true);
        item.appendChild(clone);
      });
    });
  </script>
</html>

实现效果:

相关推荐
鹏北海-RemHusband1 小时前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
LYFlied1 小时前
AI大时代下前端跨端解决方案的现状与演进路径
前端·人工智能
光影少年1 小时前
AI 前端 / 高级前端
前端·人工智能·状态模式
一位搞嵌入式的 genius1 小时前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
anOnion2 小时前
构建无障碍组件之Alert Dialog Pattern
前端·html·交互设计
choke2332 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面2 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng9452013142 小时前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特2 小时前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
wuhen_n2 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构