我有一個輪盤遊戲,看起來像這樣:JavaScript的動畫dosnt環
我希望它慢下來越來越多的進一步不言而喻,所以我有這樣的代碼:
$(document).ready(function() {
$("button").click(function() {
var moveTime = Math.floor(Math.random() * 1000) + 2000
var slowDown = 1000;
while (moveTime > 0) {
$("div").animate({
left: slowDown + "px"
});
if (slowDown > 0) {
slowDown--;
moveTime = 0;
}
slowDown--;
moveTime--;
}
});
});
div {
position: absolute;
float: left;
margin: 0 0 0 -8400px;
width: 10000px;
height: 100px;
background: repeating-linear-gradient(90deg, #DF0000, #DF0000 100px, #000000 100px, #000000 200px)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Start Animation</button>
<div></div>
但problemis,它只能播放動畫1次。我也嘗試過無限循環,但這也不起作用,與按下按鈕兩次沒有任何第二次發生一樣。
你能或許能給我們一些HTML的,所以我們可以複製整個事情? – Denocle
http://pastebin.com/AxZL3PmD – Patte
'如果(減速> 0){'總是真第一次通過,從而第二時間'而(moveTime> 0){'是假的。所以只有1個循環迭代。你可以考慮使用'setInterval'或'setTimeout'來代替這個循環。 –