jQuery图片左右无缝滚动是一种网页效果,通过JavaScript和CSS实现图片在一个固定容器内左右循环滚动的效果。这种效果常用于网站的首页、广告栏或者产品展示页,以吸引用户的注意力。
以下是一个简单的jQuery图片左右无缝滚动的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery图片左右无缝滚动</title>
<style>
#scroll-container {
width: 80%;
overflow: hidden;
border: 1px solid #ccc;
}
#scroll-content {
display: flex;
animation: scroll 10s linear infinite;
}
#scroll-content img {
width: 200px;
height: 150px;
margin-right: 10px;
}
@keyframes scroll {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
</style>
</head>
<body>
<div id="scroll-container">
<div id="scroll-content">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
<img src="image3.jpg" alt="Image 3">
<img src="image4.jpg" alt="Image 4">
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// 确保内容长度是容器宽度的整数倍
var containerWidth = $('#scroll-container').width();
var contentWidth = $('#scroll-content').width();
var multiplier = Math.ceil(contentWidth / containerWidth);
$('#scroll-content').css('width', multiplier * containerWidth);
// 复制内容以实现无缝滚动
var clone = $('#scroll-content').clone().addClass('clone');
$('#scroll-container').append(clone);
// 调整动画时间
var newDuration = (10 * multiplier) + 's';
$('#scroll-content').css('animation-duration', newDuration);
clone.css('animation-duration', newDuration);
});
</script>
</body>
</html>
background-size: cover;
或者使用img
标签的loading="lazy"
属性。requestAnimationFrame
来优化动画效果。通过以上方法,可以实现一个稳定且吸引人的图片左右无缝滚动效果。
没有搜到相关的文章