function?go_to_position(x,?y)?{
var?ele?=?document.getElementsByTagName("p")[0];
var?x_now?=?parseInt(ele.style.left);?
var?y_now?=?parseInt(ele.style.top);
//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;
}
ele.style.left?=?x_now?+?'px';
ele.style.top?=?y_now?+?'px';
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)?想要先移動(dòng)到(150.241)?再移動(dòng)到(300.241)
//?執(zhí)行的時(shí)候多個(gè)setTimeout?同時(shí)執(zhí)行,?x賦值在150和300?來會(huì)變。導(dǎo)致x_now?交替執(zhí)行+1?-1?
//若插入clearTimeout,直接移動(dòng)到最后?(300.241)的位置請問,如何達(dá)到先移動(dòng)到150.241 再移動(dòng)到300.241 的效果 ?如果強(qiáng)行要用setTimeout的話
利用setTimeout重復(fù)調(diào)用函數(shù),賦值相互干擾怎么辦?
qq_請勿投食_0
2016-12-10 15:34:06