这是我到目前为止的代码
<div>
<img src="robot.png" id="robotPic">
</div>
<br />
<br />
<input type="button" name="Start" value="Start" id="Start" onclick="moveImage();">
<script type="text/javascript">
var moving = false;
var screenWidth = window.innerWidth;
var i = 0;
function moveImage() {
if (!moving) {
moving = true;
var robotMoving = setInterval(function() {
document.getElementById("robotPic").style.paddingLeft = i + "px";
i = i + 10;
}, 500);
} else {
clearInterval(robotMoving);
}
}
</script>
无论出于何种原因,当我出于某种原因再次单击
robotPic
按钮时,Start
都不会停止移动,并且我没有被踩到 最佳答案
您的间隔引用robotMoving
仅存在于该功能范围内。这意味着每次您运行该函数(并且多次运行)时,它都设置为undefined。要解决此问题,请将变量robotMoving
移动到该函数的外部,然后从内部修改其值。