JS实现无缝隙跑马灯

简介: JS实现无缝隙跑马灯

以下是一个简单的示例,使用HTML、CSS和JavaScript实现无缝隙跑马灯:

HTML代码:

<div class="marquee">
  <ul>
    <li>第一条消息</li>
    <li>第二条消息</li>
    <li>第三条消息</li>
    <li>第四条消息</li>
    <li>第五条消息</li>
  </ul>
</div>

CSS代码:

.marquee {
  overflow: hidden;
  position: relative;
}
.marquee ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  animation: marquee 10s linear infinite;
}
.marquee li {
  list-style: none;
  margin-right: 30px;
}
@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

JavaScript代码:

const marquee = document.querySelector('.marquee ul');
const marqueeItems = marquee.querySelectorAll('li');
// 将最后一个元素复制到列表的开头
marquee.insertBefore(marqueeItems[marqueeItems.length - 1].cloneNode(true), marqueeItems[0]);
// 监听动画结束并将拼接的元素移动到列表末尾
marquee.addEventListener('animationiteration', () => {
  const firstItem = marquee.querySelector('li');
  const lastItem = marquee.querySelector('li:last-of-type');
  marquee.insertBefore(lastItem.cloneNode(true), firstItem);
  marquee.removeChild(lastItem);
});

此示例将5条消息滚动显示。动画持续10秒钟,并无限循环。JavaScript代码使用animationiteration事件来检测动画何时结束,将第一个元素复制到列表的末尾,然后将拼接的元素移动到列表末尾。这样就可以实现无缝隙的跑马灯效果。


目录
相关文章
|
6月前
|
前端开发 JavaScript
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
32 2
|
6月前
|
前端开发 JavaScript
探讨JavaScript实现类似弹幕的跑马灯效果
探讨JavaScript实现类似弹幕的跑马灯效果
472 0
|
JavaScript
如何用原生JS实现跑马灯效果
如何用原生JS实现跑马灯效果
212 0
如何用原生JS实现跑马灯效果
|
JavaScript
html+css+js实现无缝隙跑马灯
html+css+js实现无缝隙跑马灯
181 0
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
294 1
|
JavaScript 前端开发
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/80177295  JavaScript案例之跑马灯左右无缝连接 效果图: 思路:     1.
913 0
|
JavaScript 前端开发
|
1月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
27 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
107 2
|
1月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
20 0