不是控制的问题,是你的程序控制的问题,setInterval不能乱用.现在你的程序运行时顺序是这样的
lBegin -> drawLine (这里创建了定时器,并且每50ms就被调用一次) -> (这里每个被调用的drawLine再调用) -> createLine -> 回到 drawLine(但是你在当if(loopFlag > arr.length-2)才清理一个定时器)而其实这个过程里你己经整出了很多个定时器的实例了,其实在同一条路线上,你己经重绘了很多条线了,换用setTimeout,注意结束的条件,setInterval比setTimeout危险多了..