使用jq Deferred防止代码被回调函数分解分解的支离破碎

    //移动人物
     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函数被回调函数强行拆分 有利于维护清晰的代码结构

原文地址:https://www.cnblogs.com/ProDoctor/p/7040759.html