⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 element.js

📁 web2.0完美实现框架
💻 JS
📖 第 1 页 / 共 5 页
字号:
     * @return {Ext.Element} this     */     setHeight : function(height, animate){        height = this.adjustHeight(height);        if(!animate || !A){            this.dom.style.height = this.addUnits(height);        }else{            this.anim({height: {to: height}}, this.preanim(arguments, 1));        }        return this;    },    /**     * Set the size of the element. If animation is true, both width an height will be animated concurrently.     * @param {Number} width The new width     * @param {Number} height The new height     * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object     * @return {Ext.Element} this     */     setSize : function(width, height, animate){        if(typeof width == "object"){ // in case of object from getSize()            height = width.height; width = width.width;        }        width = this.adjustWidth(width); height = this.adjustHeight(height);        if(!animate || !A){            this.dom.style.width = this.addUnits(width);            this.dom.style.height = this.addUnits(height);        }else{            this.anim({width: {to: width}, height: {to: height}}, this.preanim(arguments, 2));        }        return this;    },    /**     * Sets the element's position and size in one shot. If animation is true then width, height, x and y will be animated concurrently.     * @param {Number} x X value for new position (coordinates are page-based)     * @param {Number} y Y value for new position (coordinates are page-based)     * @param {Number} width The new width     * @param {Number} height The new height     * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object     * @return {Ext.Element} this     */    setBounds : function(x, y, width, height, animate){        if(!animate || !A){            this.setSize(width, height);            this.setLocation(x, y);        }else{            width = this.adjustWidth(width); height = this.adjustHeight(height);            this.anim({points: {to: [x, y]}, width: {to: width}, height: {to: height}},                          this.preanim(arguments, 4), 'motion');        }        return this;    },    /**     * Sets the element's position and size the the specified region. If animation is true then width, height, x and y will be animated concurrently.     * @param {Ext.lib.Region} region The region to fill     * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object     * @return {Ext.Element} this     */    setRegion : function(region, animate){        this.setBounds(region.left, region.top, region.right-region.left, region.bottom-region.top, this.preanim(arguments, 1));        return this;    },    /**     * Appends an event handler to this element.  The shorthand version {@link #on} is equivalent.     * @param {String} eventName The type of event to handle     * @param {Function} fn The handler function the event invokes     * @param {Object} scope (optional) The scope (this element) of the handler function     * @param {Object} options (optional) An object containing handler configuration properties.     * This may contain any of the following properties:<ul>     * <li>scope {Object} : The scope in which to execute the handler function. The handler function's "this" context.</li>     * <li>delegate {String} : A simple selector to filter the target or look for a descendant of the target</li>     * <li>stopEvent {Boolean} : True to stop the event. That is stop propagation, and prevent the default action.</li>     * <li>preventDefault {Boolean} : True to prevent the default action</li>     * <li>stopPropagation {Boolean} : True to prevent event propagation</li>     * <li>normalized {Boolean} : False to pass a browser event to the handler function instead of an Ext.EventObject</li>     * <li>delay {Number} : The number of milliseconds to delay the invocation of the handler after te event fires.</li>     * <li>single {Boolean} : True to add a handler to handle just the next firing of the event, and then remove itself.</li>     * <li>buffer {Number} : Causes the handler to be scheduled to run in an {@link Ext.util.DelayedTask} delayed     * by the specified number of milliseconds. If the event fires again within that time, the original     * handler is <em>not</em> invoked, but the new handler is scheduled in its place.</li>     * </ul><br>     * <p>     * <b>Combining Options</b><br>     * In the following examples, the shorthand form {@link #on} is used rather than the more verbose     * addListener.  The two are equivalent.  Using the options argument, it is possible to combine different     * types of listeners:<br>     * <br>     * A normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)<div style="margin: 5px 20px 20px;">     * Code:<pre><code>el.on('click', this.onClick, this, {    single: true,    delay: 100,    stopEvent : true,    forumId: 4});</code></pre>     * <p>     * <b>Attaching multiple handlers in 1 call</b><br>      * The method also allows for a single argument to be passed which is a config object containing properties     * which specify multiple handlers.     * <p>     * Code:<pre><code>el.on({    'click' : {        fn: this.onClick,        scope: this,        delay: 100    },    'mouseover' : {        fn: this.onMouseOver,        scope: this    },    'mouseout' : {        fn: this.onMouseOut,        scope: this    }});</code></pre>     * <p>     * Or a shorthand syntax:<br>     * Code:<pre><code>el.on({    'click' : this.onClick,    'mouseover' : this.onMouseOver,    'mouseout' : this.onMouseOut,    scope: this});</code></pre>     */    addListener : function(eventName, fn, scope, options){        Ext.EventManager.on(this.dom,  eventName, fn, scope || this, options);    },    /**     * Removes an event handler from this element.  The shorthand version {@link #un} is equivalent.  Example:     * <pre><code>el.removeListener('click', this.handlerFn);// orel.un('click', this.handlerFn);</code></pre>     * @param {String} eventName the type of event to remove     * @param {Function} fn the method the event invokes     * @return {Ext.Element} this     */    removeListener : function(eventName, fn){        Ext.EventManager.removeListener(this.dom,  eventName, fn);        return this;    },    /**     * Removes all previous added listeners from this element     * @return {Ext.Element} this     */    removeAllListeners : function(){        E.purgeElement(this.dom);        return this;    },    /**     * Create an event handler on this element such that when the event fires and is handled by this element,     * it will be relayed to another object (i.e., fired again as if it originated from that object instead).     * @param {String} eventName The type of event to relay     * @param {Object} object Any object that extends {@link Ext.util.Observable} that will provide the context     * for firing the relayed event     */    relayEvent : function(eventName, observable){        this.on(eventName, function(e){            observable.fireEvent(eventName, e);        });    },    /**     * Set the opacity of the element     * @param {Float} opacity The new opacity. 0 = transparent, .5 = 50% visibile, 1 = fully visible, etc     * @param {Boolean/Object} animate (optional) true for the default animation or a standard Element animation config object     * @return {Ext.Element} this     */     setOpacity : function(opacity, animate){        if(!animate || !A){            var s = this.dom.style;            if(Ext.isIE){                s.zoom = 1;                s.filter = (s.filter || '').replace(/alpha\([^\)]*\)/gi,"") +                           (opacity == 1 ? "" : " alpha(opacity=" + opacity * 100 + ")");            }else{                s.opacity = opacity;            }        }else{            this.anim({opacity: {to: opacity}}, this.preanim(arguments, 1), null, .35, 'easeIn');        }        return this;    },    /**     * Gets the left X coordinate     * @param {Boolean} local True to get the local css position instead of page coordinate     * @return {Number}     */    getLeft : function(local){        if(!local){            return this.getX();        }else{            return parseInt(this.getStyle("left"), 10) || 0;        }    },    /**     * Gets the right X coordinate of the element (element X position + element width)     * @param {Boolean} local True to get the local css position instead of page coordinate     * @return {Number}     */    getRight : function(local){        if(!local){            return this.getX() + this.getWidth();        }else{            return (this.getLeft(true) + this.getWidth()) || 0;        }    },    /**     * Gets the top Y coordinate     * @param {Boolean} local True to get the local css position instead of page coordinate     * @return {Number}     */    getTop : function(local) {        if(!local){            return this.getY();        }else{            return parseInt(this.getStyle("top"), 10) || 0;        }    },    /**     * Gets the bottom Y coordinate of the element (element Y position + element height)     * @param {Boolean} local True to get the local css position instead of page coordinate     * @return {Number}     */    getBottom : function(local){        if(!local){            return this.getY() + this.getHeight();        }else{            return (this.getTop(true) + this.getHeight()) || 0;        }    },    /**    * Initializes positioning on this element. If a desired position is not passed, it will make the    * the element positioned relative IF it is not already positioned.    * @param {String} pos (optional) Positioning to use "relative", "absolute" or "fixed"    * @param {Number} zIndex (optional) The zIndex to apply    * @param {Number} x (optional) Set the page X position    * @param {Number} y (optional) Set the page Y position    */    position : function(pos, zIndex, x, y){        if(!pos){           if(this.getStyle('position') == 'static'){               this.setStyle('position', 'relative');           }        }else{            this.setStyle("position", pos);        }        if(zIndex){            this.setStyle("z-index", zIndex);        }        if(x !== undefined && y !== undefined){            this.setXY([x, y]);        }else if(x !== undefined){            this.setX(x);        }else if(y !== undefined){            this.setY(y);        }    },    /**    * Clear positioning back to the default when the document was loaded    * @param {String} value (optional) The value to use for the left,right,top,bottom, defaults to '' (empty string). You could use 'auto'.    * @return {Ext.Element} this     */    clearPositioning : function(value){        value = value ||'';        this.setStyle({            "left": value,            "right": value,            "top": value,            "bottom": value,            "z-index": "",            "position" : "static"        });        return this;    },    /**    * Gets an object with all CSS positioning properties. Useful along with setPostioning to get    * snapshot before performing an update and then restoring the element.    * @return {Object}    */    getPositioning : function(){        var l = this.getStyle("left");        var t = this.getStyle("top");        return {            "position" : this.getStyle("position"),            "left" : l,            "right" : l ? "" : this.getStyle("right"),            "top" : t,            "bottom" : t ? "" : this.getStyle("bottom"),            "z-index" : this.getStyle("z-index")        };    },    /**     * Gets the width of the border(s) for the specified side(s)     * @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,     * passing lr would get the border (l)eft width + the border (r)ight width.     * @return {Number} The width of the sides passed added together     */    getBorderWidth : function(side){        return this.addStyles(side, El.borders);    },    /**     * Gets the width of the padding(s) for the specified side(s)     * @param {String} side Can be t, l, r, b or any combination of those to add multiple values. For example,     * passing lr would get the padding (l)eft + the padding (r)ight.     * @return {Number} The padding of the sides passed added together     */    getPadding : function(side){        return this.addStyles(side, El.paddings);    },    /**    * Set positioning with an object returned by getPositioning().    * @param {Object} posCfg    * @return {Ext.Element} this     */    setPositioning : function(pc){        this.applyStyles(pc);        if(pc.right == "auto"){            this.dom.style.right = "";        }        if(pc.bottom == "auto"){            this.dom.style.bottom = "";        }        return this;    },    // private    fixDisplay : function(){        if(this.getStyle("display") == "none"){            this.setStyle("visibility", "hidden");            this.setStyle("display", this.originalDisplay); // first try reverting to default            if(this.getStyle("display") == "none"){ // if that fails, default to block                this.setStyle("display", "block");            }        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -