<…">
当前位置:首页 > 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 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现…