亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

小球不動。

<!DOCTYPE?html>
<html?lang="en">

<head>
<meta?charset="UTF-8">
<title>Document</title>
<style>
.ball?{
width:?40px;
height:?40px;
border-radius:?20px;
}

.ball?{
background:?red;
}

.ball2?{
background:?yellow;
}

.ball3?{
background:?green;
}
</style>
<script?src="../promise/1.js">

</script>
</head>

<body>

<div?class="ball?ball1"?style="margin-left:?0px;"></div>
<div?class="ball?ball2"?style="margin-left:?0px;"></div>
<div?class="ball?ball3"?style="margin-left:?0px;"></div>
<script?type="text/javascript">
var?ball1?=?document.querySelector('.ball1');
var?ball2?=?document.querySelector('.ball2');
var?ball3?=?document.querySelector('.ball3');
var?Promise?=?window.Promise;
function?promiseAnimate(ball,?distance)?{
return?new?Promise(function?(resolve,?reject)?{
function?_animate(ball,?distance,cb)?{

setTimeout(function?()?{

var?marginLeft?=?parseInt(ball.style.marginLeft,?10);
if?(marginLeft?===?distance)?{
resolve();
}
else?{
if?(marginLeft?<?distance)?{
marginLeft++;
}
else?{
marginLeft--;
}
ball.style.marginLeft?=?marginLeft?+?'px';
_animate();
}
},?13)
}
_animate(ball,distance);
})
}
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)
})
</script>
</body>

</html>

代碼如上,引用的是bluebird.min.js。確認引用上了,只是改名為上述。瀏覽器是chrome

正在回答

2 回答

替你測試過了,首先_animate();沒有參數,其次要引用bluebird.js 路徑要對

<script?src="../promise/1.js"></script>注意下奧~


0 回復 有任何疑惑可以回復我~

<!DOCTYPE html>

<html>

?

<head>

<meta charset="UTF-8">

<title>Document</title>

<style>

.ball {

width: 40px;

height: 40px;

border-radius: 20px;

}

?

.ball {

background: red;

}

?

.ball2 {

background: yellow;

}

?

.ball3 {

background: green;

}

</style>

<script src="./node_modules/bluebird/js/browser/bluebird.js" type="text/javascript" charset="utf-8" async defer></script>

</head>

?

<body>

?

<div class="ball ball1" style="margin-left: 0px;"></div>

<div class="ball ball2" style="margin-left: 0px;"></div>

<div class="ball ball3" style="margin-left: 0px;"></div>

<script type="text/javascript">

var ball1 = document.querySelector('.ball1');

var ball2 = document.querySelector('.ball2');

var ball3 = document.querySelector('.ball3');

var Promise = window.Promise;

function promiseAnimate(ball, distance) {

return new Promise(function (resolve, reject) {

function _animate() {

?

setTimeout(function () {

?

var marginLeft = parseInt(ball.style.marginLeft, 10);

if (marginLeft === distance) {

resolve();

}

else {

if (marginLeft < distance) {

marginLeft++;

}

else {

marginLeft--;

}

ball.style.marginLeft = marginLeft +'px';

_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)

})

</script>

</body>

?

</html>


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
進擊Node.js基礎(二)
  • 參與學習       76735    人
  • 解答問題       242    個

本教程帶你攻破 Nodejs,讓 JavaScript流暢運行在服務器端

進入課程

小球不動。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號