functiongo_to_position(x, y) {
//clearTimeout(movement);
if(x_now == x && y_now == y) {
return;
}
if(x_now != x || y_now != y) {
if(x_now - x > 0) {
x_now -= 1;
}
if(x_now - x < 0) {
x_now += 1;
}
if(y_now - y > 0) {
y_now -= 1;
}
if(y_now - y < 0) {
y_now += 1;
}
console.log(x_now + ","+ y_now);
}
movement = setTimeout(function() {
go_to_position(x, y);
}, 5);
}
go_to_position(150, 241);
go_to_position(300, 241);
//原来的位置是(200.241) 想要先移动到(150.241) 再移动到(300.241)
// 执行的时候多个setTimeout 同时执行, x赋值在150和300 来会变。导致x_now 交替执行+1 -1
//若插入clearTimeout,直接移动到最后 (300.241)的位置
请问,如何达到先移动到150.241 再移动到300.241 的效果 ?如果强行要用setTimeout的话
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1282/viewspace-3145611/ ,如需转载,请注明出处,否则将追究法律责任。