Вы никогда не увеличите pl_left
, поэтому цикл будет работать вечно:
while (p1_left <= 784) {
pl_left+=16;
$('#p1').css('left', p1_left);
}
Тем не менее, это не будет оживлять движение вашего персонажа, оно будет просто переходить к конечной точке. По этой причине бессмысленно зацикливаться. Вероятно, вы захотите либо использовать setTimeout
для перемещения каждую секунду на одну позицию, либо что-то в этом роде. Или вы можете использовать animate
с функцией обратного вызова:
function moveLeft(theID){
$(theIE).animate({...},1000, function(){
if(/* keep moving */){
move_left(theID);
}
}
}