gpt4 book ai didi

JavaScript 动画位置问题

转载 作者:可可西里 更新时间:2023-11-01 13:28:18 25 4
gpt4 key购买 nike

我有一个篮球和一个篮球按钮。当我点击按钮时,篮球上下弹跳。我已经设法将篮球和按钮样式设置到屏幕上我想要的位置。

但是当我点击“动画篮球”按钮时,球确实会上下弹跳,但它会重新定位到我的页面顶部,然后开始上下弹跳。有人可以看看我的代码并告诉我如何在单击按钮时阻止球移动吗?

<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);
}
}

最佳答案

这是一个(虽然快速且肮脏)有效解决方案。我想这就是你的意思。

http://jsfiddle.net/9guaa0j5/1/

我向您的起始变量 distanceBall 添加了一些像素,并手动向您的其中一个函数添加了 230px。

var distanceBall = 200;
var directionBall = 1;
var timerToggle = null;
function animateBall() {
document.getElementById("basketball").style.top = distanceBall + 230 +"px";
distanceBall += directionBall;
if (distanceBall > 200) { directionBall = -1; }
if (0 > distanceBall) { directionBall = 1; }
timerToggle = setTimeout(function () { animateBall(); }, 10);
}

希望这对您有所帮助。

关于JavaScript 动画位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34242493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com