一、基础概念
setInterval
)来周期性地改变文字的位置或者内容显示。例如,对于水平滚动,可以逐渐改变文字容器的scrollLeft
属性;对于垂直滚动,可以改变scrollTop
属性。<div>
)来包裹要滚动的文字内容。这个容器需要设置固定的宽度和高度(如果是块级元素显示),并且可能需要设置overflow: hidden
来隐藏超出容器的部分。二、优势
三、类型
四、应用场景
五、可能遇到的问题及解决方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF - 8">
<meta name="viewport" content="width=device-width, initial - scale = 1.0">
<style>
#scrollContainer {
width: 500px;
height: 50px;
overflow: hidden;
border: 1px solid black;
white - space: nowrap;
}
#scrollContent {
display: inline - block;
padding - left: 100%;
}
</style>
</head>
<body>
<div id="scrollContainer">
<div id="scrollContent">这是一些要滚动的文字内容,用于演示无缝滚动效果。</div>
</div>
<script>
let scrollSpeed = 1;
let scrollContent = document.getElementById('scrollContent');
function scrollText() {
let currentLeft = parseInt(scrollContent.style.paddingLeft);
if (currentLeft <= -scrollContent.offsetWidth) {
currentLeft = scrollContainer.offsetWidth;
}
scrollContent.style.paddingLeft = currentLeft - scrollSpeed + 'px';
}
let scrollInterval = setInterval(scrollText, 20);
</script>
</body>
</html>
paddingLeft
属性瞬间重置为初始值(如100%
),同时设置一个短暂的过渡隐藏效果,然后再恢复正常滚动。setInterval
的精度支持不好,或者对某些CSS动画属性的解释不同。-webkit -
等前缀。领取专属 10元无门槛券
手把手带您无忧上云