marquee 无缝循环滚动
时间: 2023-10-01 16:10:21 浏览: 213
要实现 marquee 的无缝循环滚动,可以使用 JavaScript 来实现。具体步骤如下:
1. 在 HTML 中使用 marquee 标签创建滚动的文本。
2. 使用 JavaScript 获取 marquee 标签,并获取其中的文本内容。
3. 将获取到的文本内容复制一份,追加到原文本的后面,形成一个完整的文本。
4. 设置 marquee 标签的 scrollamount 属性为 0,表示滚动速度为 0,避免初始滚动。
5. 使用 JavaScript 定时器 setInterval,每隔一定时间将文本向左移动一个字符,当文本移动到一定距离时,将文本移回到初始位置。
6. 当页面失去焦点时,停止定时器,避免在后台消耗资源。
以下是示例代码:
HTML 代码:
```
<marquee id="marquee" scrollamount="0">这是一段滚动的文本</marquee>
```
JavaScript 代码:
```
var marquee = document.getElementById("marquee");
var text = marquee.innerHTML;
marquee.innerHTML += text;
var timer = null;
var distance = 0;
var step = 1;
function startMarquee() {
timer = setInterval(function() {
marquee.scrollLeft += step;
distance += step;
if (distance >= marquee.clientWidth) {
distance = 0;
marquee.scrollLeft = 0;
}
}, 20);
}
function stopMarquee() {
clearInterval(timer);
}
window.addEventListener("blur", stopMarquee);
window.addEventListener("focus", startMarquee);
startMarquee();
```
阅读全文