我有一個籃球和一個籃球按鈕。當我點擊按鈕時,籃球會上下跳動。我設法將籃球和按鈕設計到屏幕上我想要的位置。JavaScript動畫位置問題
但是當我點擊「Animate Basketball」按鈕時,球會反彈,但它會自動移動到我的頁面頂部,然後開始彈起和跳下。有人可以看看我的代碼,並告訴我如何在點擊按鈕時阻止球重新定位嗎?
<head>
<script src="script.js"></script>
</head>
<input id="ballButton" onclick="checkButton()" type="button" value="Animate Basketball"
<div id="basketball" style="position:absolute;top:430px;left:700px;">
<img src="http://img.netlumination.com/Basketball_64x64-1.png" Basketball" \>
</div>
CSS:
#ballButton {
position:absolute;
top:400px;
left:700px
}
JS:
var distanceBall = 0;
var directionBall = 1;
var timerToggle = null;
function animateBall() {
document.getElementById("basketball").style.top = distanceBall + "px";
distanceBall += directionBall;
if (distanceBall > 200) { directionBall = -1; }
if (0 > distanceBall) { directionBall = 1; }
timerToggle = setTimeout(function() { animateBall(); }, 10);
}
function checkButton() {
if (document.getElementById("ballButton").value == "Animate Basketball") {
document.getElementById("ballButton").value = "Stop Basketball";
animateBall();
} else {
document.getElementById("ballButton").value = "Animate Basketball";
clearTimeout(timerToggle);
}
}
一個jsfiddle或代碼片段將是美好:) – www139