<…">
当前位置:首页 > JavaScript

js实现跑马灯

2026-02-28 20:43:05JavaScript

实现跑马灯效果的方法

使用CSS动画和HTML

通过CSS的@keyframestransform属性实现水平滚动的跑马灯效果。

<div class="marquee">
  <p>这是一段需要滚动的文字内容,可以根据实际需求调整。</p>
</div>
.marquee {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}

.marquee p {
  display: inline-block;
  animation: marquee 10s linear infinite;
}

@keyframes marquee {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

使用JavaScript动态控制

通过JavaScript动态修改元素的leftmargin-left属性实现滚动效果。

js实现跑马灯

<div class="marquee-js">
  <p>这是一段需要滚动的文字内容,可以根据实际需求调整。</p>
</div>
const marquee = document.querySelector('.marquee-js p');
let position = 0;

function animate() {
  position--;
  marquee.style.transform = `translateX(${position}px)`;

  if (position < -marquee.offsetWidth) {
    position = window.innerWidth;
  }

  requestAnimationFrame(animate);
}

animate();

使用marquee标签(不推荐)

HTML原生提供了<marquee>标签,但已过时,不建议在生产环境中使用。

js实现跑马灯

<marquee behavior="scroll" direction="left">
  这是一段需要滚动的文字内容,可以根据实际需求调整。
</marquee>

实现垂直滚动的跑马灯

通过修改CSS的transform属性实现垂直方向的滚动效果。

@keyframes marquee-vertical {
  0% { transform: translateY(100%); }
  100% { transform: translateY(-100%); }
}

控制动画暂停与继续

通过JavaScript控制CSS动画的播放状态。

const marquee = document.querySelector('.marquee p');

marquee.addEventListener('mouseenter', () => {
  marquee.style.animationPlayState = 'paused';
});

marquee.addEventListener('mouseleave', () => {
  marquee.style.animationPlayState = 'running';
});

以上方法提供了多种实现跑马灯效果的方案,可根据实际需求选择适合的方式。CSS动画方案性能较好,适合简单场景;JavaScript方案更灵活,适合复杂交互需求。

标签: 跑马灯js
分享给朋友:

相关文章

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…