课程源码及容易出现的问题-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>
举报