Element.legacy.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:2k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.0.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ /**
  2.  * @class Ext.Element
  3.  */
  4. Ext.Element.addMethods({
  5.     /**
  6.      * Measures the element's content height and updates height to match. Note: this function uses setTimeout so
  7.      * the new height may not be available immediately.
  8.      * @param {Boolean} animate (optional) Animate the transition (defaults to false)
  9.      * @param {Float} duration (optional) Length of the animation in seconds (defaults to .35)
  10.      * @param {Function} onComplete (optional) Function to call when animation completes
  11.      * @param {String} easing (optional) Easing method to use (defaults to easeOut)
  12.      * @return {Ext.Element} this
  13.      */
  14.     autoHeight : function(animate, duration, onComplete, easing){
  15.         var oldHeight = this.getHeight();
  16.         this.clip();
  17.         this.setHeight(1); // force clipping
  18.         setTimeout(function(){
  19.             var height = parseInt(this.dom.scrollHeight, 10); // parseInt for Safari
  20.             if(!animate){
  21.                 this.setHeight(height);
  22.                 this.unclip();
  23.                 if(typeof onComplete == "function"){
  24.                     onComplete();
  25.                 }
  26.             }else{
  27.                 this.setHeight(oldHeight); // restore original height
  28.                 this.setHeight(height, animate, duration, function(){
  29.                     this.unclip();
  30.                     if(typeof onComplete == "function") onComplete();
  31.                 }.createDelegate(this), easing);
  32.             }
  33.         }.createDelegate(this), 0);
  34.         return this;
  35.     }
  36. });