要使用jQuery实现小图片滚动效果,可以通过以下步骤来完成:
setInterval
函数用于周期性地执行某段代码。以下是一个简单的水平滚动效果的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Scrolling</title>
<style>
#scrollingImages {
width: 100%;
overflow: hidden;
white-space: nowrap;
position: relative;
}
#scrollingImages img {
width: 100px;
height: auto;
display: inline-block;
margin-right: 10px;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="scrollingImages">
<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>
<script>
$(document).ready(function() {
var $images = $('#scrollingImages');
var imageWidth = $images.find('img').first().outerWidth(true);
var totalWidth = imageWidth * $images.find('img').length;
function scrollImages() {
$images.animate({ marginLeft: -totalWidth }, 10000, 'linear', function() {
$images.css('marginLeft', 0);
scrollImages();
});
}
scrollImages();
});
</script>
</body>
</html>
div
容器,并设置其ID为scrollingImages
。animate
方法使容器向左移动,移动的距离为所有图片的总宽度。marginLeft
为0,并重新调用scrollImages
函数以实现循环滚动效果。$(window).on('load', function() {...})
来确保页面完全加载后再执行动画。transform
属性来优化动画效果,因为transform
属性通常由GPU加速处理。$images.animate({ transform: 'translateX(-' + totalWidth + 'px)' }, 10000, 'linear', function() {
$images.css('transform', 'translateX(0)');
scrollImages();
});
通过这种方式,可以提高动画的流畅性和性能。
没有搜到相关的文章