WEB开发网
开发学院网页设计JavaScript Jquery源码分析---FX分析 阅读

Jquery源码分析---FX分析

 2010-09-14 13:39:01 来源:WEB开发网   
核心提示: // 动画的每一个步骤step: function(gotoEnd){ var t = now();//运行到当前的时间,因为是13ms才运行一次,Jquery源码分析---FX分析(9), // 强行指定结束或当前时间大于startTime+duration if ( gotoEnd |

// 动画的每一个步骤
  step: function(gotoEnd){
    var t = now();//运行到当前的时间,因为是13ms才运行一次。
     // 强行指定结束或当前时间大于startTime+duration
    if ( gotoEnd || t > this.options.duration + this.startTime ) {
      this.now = this.end;//当前的位置为结束位置
      this.pos = this.state = 1;//当前的state,pos的比率为1.最大。
      this.update();//显示
      //标识这个属性的动画已经完成
      this.options.curAnim[ this.prop ] = true;
      //再一次判断是否完成
      var done = true;
      for ( var i in this.options.curAnim )
       if ( this.options.curAnim[i] !== true )
         done = false;
  
      if ( done ) {      
       if ( this.options.display != null ) {// 恢复overflow
         this.elem.style.overflow = this.options.overflow;
         // 恢复 display
         this.elem.style.display = this.options.display;
         //判断其是否恢复成功,
         if ( jQuery.css(this.elem, "display") == "none" )
           this.elem.style.display = "block";
       }
  
       //如果是hide的操作
       if ( this.options.hide )
         this.elem.style.display = "none";
         //如果元素已经show或hide,恢复其动画改变的属性
       if ( this.options.hide || this.options.show )
         for ( var p in this.options.curAnim )
           jQuery.attr(this.elem.style, p,
this.options.orig[p]);
      }
  
      if ( done )// 运行complete的回调函数
       this.options.complete.call( this.elem );
  
      return false;
    } else {
      var n = t - this.startTime;//时间间隔
      this.state = n / this.options.duration;//时间间隔比率
  
      //根据时间间隔的比率再按一定的算法比率来计算
//当前的运动的位置点的比率。默认是swing的算法
      this.pos = jQuery.easing[this.options.easing ||
      (jQuery.easing.swing ? "swing" : "linear")]
(this.state, n, 0, 1, this.options.duration);
      //当前的位置
      this.now = this.start + ((this.end - this.start) * this.pos);
  
      // 显示
      this.update();
    }
  
    return true;
}

上一页  4 5 6 7 8 9 10  下一页

Tags:Jquery 源码 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接