<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{
margin: 0;
background-color: #5e5e5e;
}
#box{
width: 857px;
height: 574px;
padding-top: 126px;
padding-left:143px;
background: url(img/bg.png) no-repeat;
margin: 0px auto;
}
#wrap{
width: 700px;
height: 420px;
}
#wrap div{
width: 10px;
height: 420px;
background: url(img/01.png) no-repeat;
float: left;
transition: .5s;
}
</style>
</head>
<body>
<div id="box">
<div id="wrap">
<!-- <div style="background-position-x: 0px"></div>
<div style="background-position-x: -10px"></div>
<div style="background-position-x: -20px"></div>
<div style="background-position-x: -30px"></div>-->
</div>
</div>
<script>
window.onload = function(){
// 第一步动态创建70个子div,然后利用背景图片拼出完整的图片
var wrap = document.getElementById('wrap');
var str = "";
var len = 70;
// 动态创建70个子div存在str变量中,并添加到wrap里面
for (var i = 0; i < len; i++) {
str += '<div style="background-position-x: '+(-10*i)+'px"></div>';
};
wrap.innerHTML = str;
var divs = wrap.getElementsByTagName('div');
var srcNum = 2;
var timer;
var num = 0;
// 让第一张图子元素慢慢隐藏,第二张图子元素慢慢显示
function tab(n){
// 如果上一个子div存在
if(divs[n-1]){
divs[n-1].style.opacity = 1;
}
// 如果当前子div存在
if(divs[n]){
divs[n].style.opacity = 0;
divs[n].style.backgroundImage ='url(img/0'+srcNum+'.png)';
}
};
move();
// 封装一个move函数
function move(){
timer = setInterval(function(){
tab(num);
num++;
console.log(num); //这里可以发现num在不停的变大,定时器没有关掉,得做判断
if(num == 71){
clearInterval(timer);
num = 0;
// 这里可以看到切换到第二张图就不动了,这里就得改变图片的src
srcNum ++;
if(srcNum == 6){
srcNum = 1;
}
}
},70);
};
setTimeout(move,500);
};
</script>
</body>
</html>