课程源码及容易出现的问题-20180919
1、课程的源码。
2、课程中容易出现的问题。
1、课程的源码。
2、课程中容易出现的问题。
2018-09-19
1、课程源码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta name="format-detection" content="telephone=no">
<title>promise animation</title>
<style>
.ball {
width:40px;
height:40px;
border-radius:20px;
}
.ball1 {
background:#f00;
}
.ball2 {
background:#ff0;
}
.ball3 {
background:#0f0;
}
</style>
</head>
<body>
<div class="ball ball1" style="margin-left:0"></div>
<div class="ball ball2" style="margin-left:0"></div>
<div class="ball ball3" style="margin-left:0"></div>
<script>
var ball1 = document.querySelector('.ball1');
var ball2 = document.querySelector('.ball2');
var ball3 = document.querySelector('.ball3');
function promiseAnimate(ball, distance) {
return new Promise(function (resolve, reject) {
function _animate() {
setTimeout(function () {
var marginLeft = parseInt(ball.style.marginLeft, 10);
if (marginLeft === distance) {
// cb && cb();
resolve();
} else {
marginLeft < distance ? marginLeft++ : marginLeft--;
ball.style.marginLeft = marginLeft + 'px';
// animate(ball, distance, cb);
_animate();
}
}, 13);
}
_animate();
});
}
promiseAnimate(ball1, 100)
.then(function () {
return promiseAnimate(ball2, 200);
})
.then(function () {
return promiseAnimate(ball3, 300);
})
.then(function () {
return promiseAnimate(ball3, 150);
})
.then(function () {
return promiseAnimate(ball2, 150);
})
.then(function () {
return promiseAnimate(ball1, 150);
})
// animate(ball1, 100, function() {
// animate(ball2, 200, function() {
// animate(ball3, 300, function() {
// animate(ball3, 150, function() {
// animate(ball2, 150, function() {
// animate(ball1, 150, function() {
//
// })
// })
// })
// })
// })
// })
</script>
</body>
</html>1、课程源码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta name="format-detection" content="telephone=no">
<title>promise animation</title>
<style>
.ball {
width:40px;
height:40px;
border-radius:20px;
}
.ball1 {
background:#f00;
}
.ball2 {
background:#ff0;
}
.ball3 {
background:#0f0;
}
</style>
</head>
<body>
<div class="ball ball1" style="margin-left:0"></div>
<div class="ball ball2" style="margin-left:0"></div>
<div class="ball ball3" style="margin-left:0"></div>
<script>
var ball1 = document.querySelector('.ball1');
var ball2 = document.querySelector('.ball2');
var ball3 = document.querySelector('.ball3');
function promiseAnimate(ball, distance) {
return new Promise(function (resolve, reject) {
function _animate() {
setTimeout(function () {
var marginLeft = parseInt(ball.style.marginLeft, 10);
if (marginLeft == distance) {
// cb && cb();
resolve();
} else {
marginLeft < distance ? marginLeft++ : marginLeft--;
ball.style.marginLeft = marginLeft + 'px';
// animate(ball, distance, cb);
_animate();
}
}, 13);
}
_animate();
});
}
promiseAnimate(ball1, 100)
.then(function () {
return promiseAnimate(ball2, 200);
})
.then(function () {
return promiseAnimate(ball3, 300);
})
.then(function () {
return promiseAnimate(ball3, 150);
})
.then(function () {
return promiseAnimate(ball2, 150);
})
.then(function () {
return promiseAnimate(ball1, 150);
})
// animate(ball1, 100, function() {
// animate(ball2, 200, function() {
// animate(ball3, 300, function() {
// animate(ball3, 150, function() {
// animate(ball2, 150, function() {
// animate(ball1, 150, function() {
//
// })
// })
// })
// })
// })
// })
</script>
</body>
</html>举报