无缝滚动(Seamless Scrolling)是一种网页设计效果,它可以让内容在一个容器内连续滚动,而看起来像是没有尽头。这种效果常用于新闻滚动、图片轮播、广告展示等场景。
无缝滚动通过复制内容的一部分,使得在滚动到内容末尾时,能够平滑过渡到内容的开头,从而实现无缝的效果。
使用 jQuery 可以很方便地实现无缝滚动效果。以下是一个简单的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Seamless Scrolling</title>
<style>
#scroll-container {
width: 100%;
overflow: hidden;
position: relative;
height: 200px;
}
#scroll-content {
position: absolute;
white-space: nowrap;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="scroll-container">
<div id="scroll-content">
<span>Item 1</span>
<span>Item 2</span>
<span>Item 3</span>
<span>Item 4</span>
<span>Item 5</span>
<!-- 复制内容以实现无缝滚动 -->
<span>Item 1</span>
<span>Item 2</span>
<span>Item 3</span>
<span>Item 4</span>
<span>Item 5</span>
</div>
</div>
<script>
$(document).ready(function() {
var $scrollContent = $('#scroll-content');
var contentWidth = $scrollContent.width();
var scrollSpeed = 1; // 滚动速度
function scrollContent() {
$scrollContent.animate({ left: -contentWidth }, scrollSpeed * 1000, 'linear', function() {
$scrollContent.css('left', 0);
scrollContent();
});
}
scrollContent();
});
</script>
</body>
</html>
requestAnimationFrame
替代 setInterval
或 setTimeout
以提高动画性能。通过以上方法和示例代码,你可以实现一个简单的无缝滚动效果,并根据需要进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云