clearTimeout(elem.movement); 这个之后,   != 不往下执行。
再设elem.movement= setTimeout(repeat,interval);

解决方案 »

  1.   

    跑了很多次 直到xpos == final_x && ypos == final_y 
    搞不明白为啥会一直递归下去!
      

  2.   

    只有当if(xpos==final_x&&ypos==final_y){
    return true;
    }才退出这elem.movement= setTimeout(repeat,interval);设不了值。
      

  3.   

    "clearTimeout(elem.movement); 这个之后,   != 不往下执行。"这句话把我点醒了!谢了
      

  4.   

    setTimeout会设定一个定时,并且返回一个唯一的整数数值
    clearTimeout根据这个数值来确定结束哪一个 setTimeout() 方法所以,一直走下去
      

  5.   

    setTimeout中使用setTimeout是一种推荐的方式(不使用setInterval)因为逻辑部分可能会占用一段时间,结果就可能出现第一次执行还没完了第二次就开始执行了