概述
- 改变img元素的
margin-left
再配合css3的transition
属性实现过渡效果 - 利用
appendChild
在父元素上追加节点在html结构上实现节点上的轮换
代码
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>轮播图</title>
<style>
.wrap {
width: 600px;
height: 360px;
margin: 50px auto;
overflow: hidden;
}
.container {
width: 2400px;
width:-moz-calc(100% * 4);
width:-webkit-calc(100% * 4);
width: calc(100% * 4);
height: 100%;
font-size: 0px;
}
.container img {
width: 600px;
height: 360px;
transition: 2.3s;
}
</style>
</head>
<body>
<div class="wrap">
<div class="container">
<img src="img/lunbo1.jpg" alt="">
<img src="img/lunbo2.jpg" alt="">
<img src="img/lunbo3.jpg" alt="">
<img src="img/lunbo4.jpg" alt="">
</div>
</div>
<script>
var container = document.getElementsByClassName('container')[0];
var images = container.children;
function scrollImg() {
if (images[0].style.marginLeft == '-600px') {
images[0].style.marginLeft = '0';
container.appendChild(images[0]);
}
images[0].style.marginLeft = '-600px';
console.log('scrollImg');
}
setInterval(scrollImg, 2500);
</script>
</body>
</html>
效果展示