本文介绍了如何使用 JavaScript 和循环定时器实现图片的无缝循环滚动。通过设置 CSS 样式控制容器与图片布局,结合 setInterval 函数不断调整元素位置,当滚动至临界点时重置坐标,从而形成连续不断的视觉效果。
JavaScript 实现图片无缝循环滚动效果
本文分享了一段使用 JavaScript 实现无缝循环滚动的代码示例,供读者参考学习。
实现该效果需满足两个基本条件:首先,图片尺寸设定为 260*400;其次,利用循环定时器来驱动滚动逻辑。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无缝滚动</title>
</head>
<style type="text/css">
.row{
width: 1298px;
height: 400px;
border: 1px solid;
box-shadow:2px 2px 2px #000;
overflow: hidden;
}
.box{
position: relative;
}
.box1,.box2{
width: 1298px;
position: absolute;
}
.box2{
left:1298px;
}
img{
float: left;
}
</style>
<body>
<div class="row">
<div class="box" id="box">
<div class="box1" id="box1">
<img src="images/1.jpg">
<img src="images/2.jpg">
<img src="images/3.jpg">
<img src="images/4.jpg">
<img src="images/5.jpg">
</div>
<div class="box2" id="box2">
<img src="images/1.jpg">
<img src="images/2.jpg">
<img src="images/3.jpg">
<img src="images/4.jpg">
<img src="images/5.jpg">
</div>
</div>
</div>
</body>
<script type="text/javascript">
window.onload = function(){
var _box1 = document.getElementById("box1");
var _box2 = document.getElementById("box2");
var x = 0;
var fun = function(){
_box1.style.left = x + 'px';
_box2.style.left = (x +1298) + 'px';
x--;
if((x +1298) == 0){
x = 0;
}
}
setInterval(fun,1);
}
</script>
</html>
以上就是本文的全部内容,希望对读者的学习有所帮助。