//移动人物 function moveInterval(stopPosotion){ var dtd = $.Deferred(); // 生成Deferred对象 var yidong= window.setInterval(function(){ var left=$boy.position().left; if(stopPosotion>0&&left>=stopPosotion){ window.clearInterval(yidong); dtd.resolve(); //改变执行状态 return; } $boy.css({ 'left':(left+add)+'px' }); },100); return dtd; } boyMove.StartMove($('#content').width()/2.5).then(function(){ boyMove.StopAnimation(); });
使用这种方式可以避免js函数被回调函数强行拆分 有利于维护清晰的代码结构