1
我想用按鈕在四個方向(上,下,左,右)上連續地改變一個物體的位置。當我點擊一個方向按鈕,然後點擊'暫停'按鈕,對象將停止移動(這是有效的)。但是當我點擊不止一次方向按鈕而沒有給出「暫停」按鈕時,所有移動都發生在這個對象上(例如點擊'上'的x次,移動速度的x倍),甚至'暫停'按鈕,只有一個動作會停止。如何正確使用clearInterval()?
我很感謝你能否指出問題所在。 感謝
<script>
var pause=false;
var change;
function move(event) {
pause=false;
console.log('start')
var objId=event.id;
var objStyle=document.getElementById('object');
change=setInterval(function() {
if (objId==='up'){
objStyle.style.top=parseInt(objStyle.style.top)-10+'px';
}
else if (objId==='down'){
objStyle.style.top=parseInt(objStyle.style.top)+10+'px';
console.log('down')
}
else if (objId==='left'){
objStyle.style.left=parseInt(objStyle.style.left)-10+'px';
}
else if (objId==='right'){
objStyle.style.left=parseInt(objStyle.style.left)+10+'px';
console.log('right')
}
},100)
}
function Pause() {
clearInterval(change)
}
非常感謝!我只是添加了一行代碼clearInterval(更改),現在它按我的預期工作。 – hei