亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? element.js

?? ajax最新框架extjs
?? JS
?? 第 1 頁 / 共 5 頁
字號(hào):
/*
 * Ext JS Library 2.2.1
 * Copyright(c) 2006-2009, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

/**
 * @class Ext.Element
 * Represents an Element in the DOM.<br><br>
 * Usage:<br>
<pre><code>
// by id
var el = Ext.get("my-div");

// by DOM element reference
var el = Ext.get(myDivElement);
</code></pre>
 * <b>Animations</b><br />
 * Many of the functions for manipulating an element have an optional "animate" parameter. The animate parameter
 * should either be a boolean (true) or an object literal with animation options. Note that the supported Element animation
 * options are a subset of the {@link Ext.Fx} animation options specific to Fx effects.  The Element animation options are:
<pre>
Option    Default   Description
--------- --------  ---------------------------------------------
duration  .35       The duration of the animation in seconds
easing    easeOut   The easing method
callback  none      A function to execute when the anim completes
scope     this      The scope (this) of the callback function
</pre>
* Also, the Anim object being used for the animation will be set on your options object as "anim", which allows you to stop or
* manipulate the animation. Here's an example:
<pre><code>
var el = Ext.get("my-div");

// no animation
el.setWidth(100);

// default animation
el.setWidth(100, true);

// animation with some options set
el.setWidth(100, {
    duration: 1,
    callback: this.foo,
    scope: this
});

// using the "anim" property to get the Anim object
var opt = {
    duration: 1,
    callback: this.foo,
    scope: this
};
el.setWidth(100, opt);
...
if(opt.anim.isAnimated()){
    opt.anim.stop();
}
</code></pre>
* <b> Composite (Collections of) Elements</b><br />
 * For working with collections of Elements, see {@link Ext.CompositeElement}
 * @constructor Create a new Element directly.
 * @param {String/HTMLElement} element
 * @param {Boolean} forceNew (optional) By default the constructor checks to see if there is already an instance of this element in the cache and if there is it returns the same instance. This will skip that check (useful for extending this class).
 */
(function(){
var D = Ext.lib.Dom;
var E = Ext.lib.Event;
var A = Ext.lib.Anim;

// local style camelizing for speed
var propCache = {};
var camelRe = /(-[a-z])/gi;
var camelFn = function(m, a){ return a.charAt(1).toUpperCase(); };
var view = document.defaultView;

Ext.Element = function(element, forceNew){
    var dom = typeof element == "string" ?
            document.getElementById(element) : element;
    if(!dom){ // invalid id/element
        return null;
    }
    var id = dom.id;
    if(forceNew !== true && id && Ext.Element.cache[id]){ // element object already exists
        return Ext.Element.cache[id];
    }

    /**
     * The DOM element
     * @type HTMLElement
     */
    this.dom = dom;

    /**
     * The DOM element ID
     * @type String
     */
    this.id = id || Ext.id(dom);
};

var El = Ext.Element;

El.prototype = {
    /**
     * The element's default display mode  (defaults to "")
     * @type String
     */
    originalDisplay : "",

    visibilityMode : 1,
    /**
     * The default unit to append to CSS values where a unit isn't provided (defaults to px).
     * @type String
     */
    defaultUnit : "px",
    /**
     * Sets the element's visibility mode. When setVisible() is called it
     * will use this to determine whether to set the visibility or the display property.
     * @param visMode Element.VISIBILITY or Element.DISPLAY
     * @return {Ext.Element} this
     */
    setVisibilityMode : function(visMode){
        this.visibilityMode = visMode;
        return this;
    },
    /**
     * Convenience method for setVisibilityMode(Element.DISPLAY)
     * @param {String} display (optional) What to set display to when visible
     * @return {Ext.Element} this
     */
    enableDisplayMode : function(display){
        this.setVisibilityMode(El.DISPLAY);
        if(typeof display != "undefined") this.originalDisplay = display;
        return this;
    },

    /**
     * Looks at this node and then at parent nodes for a match of the passed simple selector (e.g. div.some-class or span:first-child)
     * @param {String} selector The simple selector to test
     * @param {Number/Mixed} maxDepth (optional) The max depth to
            search as a number or element (defaults to 10 || document.body)
     * @param {Boolean} returnEl (optional) True to return a Ext.Element object instead of DOM node
     * @return {HTMLElement} The matching DOM node (or null if no match was found)
     */
    findParent : function(simpleSelector, maxDepth, returnEl){
        var p = this.dom, b = document.body, depth = 0, dq = Ext.DomQuery, stopEl;
        maxDepth = maxDepth || 50;
        if(typeof maxDepth != "number"){
            stopEl = Ext.getDom(maxDepth);
            maxDepth = 10;
        }
        while(p && p.nodeType == 1 && depth < maxDepth && p != b && p != stopEl){
            if(dq.is(p, simpleSelector)){
                return returnEl ? Ext.get(p) : p;
            }
            depth++;
            p = p.parentNode;
        }
        return null;
    },


    /**
     * Looks at parent nodes for a match of the passed simple selector (e.g. div.some-class or span:first-child)
     * @param {String} selector The simple selector to test
     * @param {Number/Mixed} maxDepth (optional) The max depth to
            search as a number or element (defaults to 10 || document.body)
     * @param {Boolean} returnEl (optional) True to return a Ext.Element object instead of DOM node
     * @return {HTMLElement} The matching DOM node (or null if no match was found)
     */
    findParentNode : function(simpleSelector, maxDepth, returnEl){
        var p = Ext.fly(this.dom.parentNode, '_internal');
        return p ? p.findParent(simpleSelector, maxDepth, returnEl) : null;
    },

    /**
     * Walks up the dom looking for a parent node that matches the passed simple selector (e.g. div.some-class or span:first-child).
     * This is a shortcut for findParentNode() that always returns an Ext.Element.
     * @param {String} selector The simple selector to test
     * @param {Number/Mixed} maxDepth (optional) The max depth to
            search as a number or element (defaults to 10 || document.body)
     * @return {Ext.Element} The matching DOM node (or null if no match was found)
     */
    up : function(simpleSelector, maxDepth){
        return this.findParentNode(simpleSelector, maxDepth, true);
    },



    /**
     * Returns true if this element matches the passed simple selector (e.g. div.some-class or span:first-child)
     * @param {String} selector The simple selector to test
     * @return {Boolean} True if this element matches the selector, else false
     */
    is : function(simpleSelector){
        return Ext.DomQuery.is(this.dom, simpleSelector);
    },

    /**
     * Perform animation on this element.
     * @param {Object} args The animation control args
     * @param {Float} duration (optional) How long the animation lasts in seconds (defaults to .35)
     * @param {Function} onComplete (optional) Function to call when animation completes
     * @param {String} easing (optional) Easing method to use (defaults to 'easeOut')
     * @param {String} animType (optional) 'run' is the default. Can also be 'color', 'motion', or 'scroll'
     * @return {Ext.Element} this
     */
    animate : function(args, duration, onComplete, easing, animType){
        this.anim(args, {duration: duration, callback: onComplete, easing: easing}, animType);
        return this;
    },

    /*
     * @private Internal animation call
     */
    anim : function(args, opt, animType, defaultDur, defaultEase, cb){
        animType = animType || 'run';
        opt = opt || {};
        var anim = Ext.lib.Anim[animType](
            this.dom, args,
            (opt.duration || defaultDur) || .35,
            (opt.easing || defaultEase) || 'easeOut',
            function(){
                Ext.callback(cb, this);
                Ext.callback(opt.callback, opt.scope || this, [this, opt]);
            },
            this
        );
        opt.anim = anim;
        return anim;
    },

    // private legacy anim prep
    preanim : function(a, i){
        return !a[i] ? false : (typeof a[i] == "object" ? a[i]: {duration: a[i+1], callback: a[i+2], easing: a[i+3]});
    },

    /**
     * Removes worthless text nodes
     * @param {Boolean} forceReclean (optional) By default the element
     * keeps track if it has been cleaned already so
     * you can call this over and over. However, if you update the element and
     * need to force a reclean, you can pass true.
     */
    clean : function(forceReclean){
        if(this.isCleaned && forceReclean !== true){
            return this;
        }
        var ns = /\S/;
        var d = this.dom, n = d.firstChild, ni = -1;
 	    while(n){
 	        var nx = n.nextSibling;
 	        if(n.nodeType == 3 && !ns.test(n.nodeValue)){
 	            d.removeChild(n);
 	        }else{
 	            n.nodeIndex = ++ni;
 	        }
 	        n = nx;
 	    }
 	    this.isCleaned = true;
 	    return this;
 	},

    /**
     * Scrolls this element into view within the passed container.
     * @param {Mixed} container (optional) The container element to scroll (defaults to document.body).  Should be a
     * string (id), dom node, or Ext.Element.
     * @param {Boolean} hscroll (optional) False to disable horizontal scroll (defaults to true)
     * @return {Ext.Element} this
     */
    scrollIntoView : function(container, hscroll){
        var c = Ext.getDom(container) || Ext.getBody().dom;
        var el = this.dom;

        var o = this.getOffsetsTo(c),
            l = o[0] + c.scrollLeft,
            t = o[1] + c.scrollTop,
            b = t+el.offsetHeight,
            r = l+el.offsetWidth;

        var ch = c.clientHeight;
        var ct = parseInt(c.scrollTop, 10);
        var cl = parseInt(c.scrollLeft, 10);
        var cb = ct + ch;
        var cr = cl + c.clientWidth;

        if(el.offsetHeight > ch || t < ct){
        	c.scrollTop = t;
        }else if(b > cb){
            c.scrollTop = b-ch;
        }
        c.scrollTop = c.scrollTop; // corrects IE, other browsers will ignore

        if(hscroll !== false){
			if(el.offsetWidth > c.clientWidth || l < cl){
                c.scrollLeft = l;
            }else if(r > cr){
                c.scrollLeft = r-c.clientWidth;
            }
            c.scrollLeft = c.scrollLeft;
        }
        return this;
    },

    // private
    scrollChildIntoView : function(child, hscroll){
        Ext.fly(child, '_scrollChildIntoView').scrollIntoView(this, hscroll);
    },

    /**
     * Measures the element's content height and updates height to match. Note: this function uses setTimeout so
     * the new height may not be available immediately.
     * @param {Boolean} animate (optional) Animate the transition (defaults to false)
     * @param {Float} duration (optional) Length of the animation in seconds (defaults to .35)
     * @param {Function} onComplete (optional) Function to call when animation completes
     * @param {String} easing (optional) Easing method to use (defaults to easeOut)
     * @return {Ext.Element} this
     */
    autoHeight : function(animate, duration, onComplete, easing){
        var oldHeight = this.getHeight();
        this.clip();
        this.setHeight(1); // force clipping
        setTimeout(function(){
            var height = parseInt(this.dom.scrollHeight, 10); // parseInt for Safari
            if(!animate){
                this.setHeight(height);
                this.unclip();
                if(typeof onComplete == "function"){
                    onComplete();
                }
            }else{
                this.setHeight(oldHeight); // restore original height
                this.setHeight(height, animate, duration, function(){
                    this.unclip();
                    if(typeof onComplete == "function") onComplete();
                }.createDelegate(this), easing);
            }
        }.createDelegate(this), 0);
        return this;
    },

    /**
     * Returns true if this element is an ancestor of the passed element
     * @param {HTMLElement/String} el The element to check

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲v精品v日韩v欧美v专区| 国产美女在线观看一区| 3d成人h动漫网站入口| 日韩在线a电影| 欧美一级艳片视频免费观看| 久久国产精品99精品国产| www日韩大片| 成人看片黄a免费看在线| **欧美大码日韩| 欧美网站大全在线观看| 蜜臀久久99精品久久久画质超高清| 精品精品国产高清a毛片牛牛| 国产精品99久久久久久似苏梦涵| 国产精品不卡一区| 欧美视频一二三区| 老司机午夜精品| 国产精品美女久久久久高潮| 欧美系列一区二区| 久久精品国产一区二区三区免费看| 国产亚洲欧美日韩日本| 色综合天天性综合| 丝袜美腿亚洲综合| 久久久精品tv| 在线免费精品视频| 国产一区二区在线影院| 1000部国产精品成人观看| 91精品蜜臀在线一区尤物| 丁香婷婷综合网| 午夜精品福利一区二区三区av| 久久日韩精品一区二区五区| 91国产成人在线| 精一区二区三区| 亚洲色图清纯唯美| 日韩小视频在线观看专区| 北条麻妃一区二区三区| 五月天精品一区二区三区| 国产嫩草影院久久久久| 欧美视频在线一区二区三区| 狠狠色丁香久久婷婷综| 亚洲最大色网站| 精品国产不卡一区二区三区| 在线观看日韩电影| 国产精品中文字幕欧美| 亚洲一线二线三线视频| 久久精品人人做| 欧美蜜桃一区二区三区| av日韩在线网站| 久久国产精品99精品国产| 亚洲激情av在线| 久久―日本道色综合久久| 欧美日韩一区国产| 国产91精品一区二区麻豆亚洲| 日韩黄色在线观看| 成人免费在线播放视频| 久久网站热最新地址| 69av一区二区三区| 99r国产精品| 国产一区在线精品| 午夜精品视频一区| 日韩理论片一区二区| 精品国产欧美一区二区| 欧美午夜一区二区三区 | 日韩国产一二三区| 亚洲欧洲日产国码二区| 精品国产一区二区三区不卡| 欧美精品视频www在线观看| 成人av免费在线播放| 国产一区在线看| 免费人成在线不卡| 亚洲午夜一区二区| 中文字幕视频一区二区三区久| 精品电影一区二区三区| 欧美另类z0zxhd电影| 99久久99精品久久久久久| 国产一区免费电影| 美女网站色91| 婷婷国产v国产偷v亚洲高清| 亚洲精品成人悠悠色影视| 中文字幕免费不卡在线| 精品国产精品网麻豆系列| 91精品在线观看入口| 欧洲一区二区三区在线| 91丨porny丨中文| 国产成人日日夜夜| 国产最新精品精品你懂的| 日本不卡在线视频| 午夜国产精品影院在线观看| 亚洲视频在线一区观看| 国产精品午夜春色av| 国产亚洲欧洲997久久综合| 精品美女被调教视频大全网站| 欧美精品欧美精品系列| 欧美日韩久久一区| 欧美天堂一区二区三区| 一本久道中文字幕精品亚洲嫩| 成人免费视频一区| 国产999精品久久久久久绿帽| 精品午夜一区二区三区在线观看| 日韩福利电影在线观看| 日本不卡视频在线观看| 亚洲自拍与偷拍| 亚洲自拍另类综合| 一区二区三区丝袜| 亚洲午夜一二三区视频| 亚洲高清在线视频| 亚洲成人资源网| 天天综合日日夜夜精品| 午夜婷婷国产麻豆精品| 亚洲国产日韩在线一区模特| 亚洲国产cao| 香蕉加勒比综合久久| 亚洲一区二区三区影院| 亚洲国产成人av网| 天堂久久一区二区三区| 偷拍自拍另类欧美| 日韩在线观看一区二区| 欧美a级理论片| 国产在线不卡视频| 国产福利一区二区三区视频| 国产福利一区二区三区视频在线| 成人午夜伦理影院| 99国产欧美久久久精品| www.在线成人| 日本伦理一区二区| 欧美日韩高清在线播放| 日韩免费一区二区| 2020国产精品| 一区精品在线播放| 一区二区三区精密机械公司| 亚洲综合一区二区| 日韩 欧美一区二区三区| 国产一区二区三区最好精华液| 丁香亚洲综合激情啪啪综合| 一本色道久久综合精品竹菊| 欧美人牲a欧美精品| 精品少妇一区二区三区| 国产精品拍天天在线| 一区二区三区免费| 久久精品国产亚洲a| 国产91色综合久久免费分享| 色噜噜狠狠成人网p站| 51久久夜色精品国产麻豆| 26uuu色噜噜精品一区二区| 中文字幕+乱码+中文字幕一区| 亚洲一区二区三区视频在线| 麻豆一区二区三| av一二三不卡影片| 欧美久久久影院| 久久精品视频免费| 夜夜嗨av一区二区三区| 精品在线观看免费| 91麻豆精品视频| 欧美一区二区三区在线电影| 亚洲国产精品激情在线观看| 亚洲一区视频在线观看视频| 久久av资源网| 91影院在线观看| 日韩欧美精品在线视频| 国产精品麻豆久久久| 偷拍自拍另类欧美| 成人精品小蝌蚪| 5858s免费视频成人| 久久久久久久久久久久久久久99 | 欧美不卡一区二区| 国产精品剧情在线亚洲| 亚洲成人高清在线| 国产成人精品亚洲777人妖| 在线一区二区三区| 337p日本欧洲亚洲大胆精品| 亚洲欧美激情视频在线观看一区二区三区| 日本vs亚洲vs韩国一区三区 | 精品日韩一区二区| 一区二区三区鲁丝不卡| 激情成人综合网| 在线视频国内自拍亚洲视频| 久久久不卡网国产精品二区| 午夜精品久久久久久久久久 | 91网站在线观看视频| 欧美一区二区免费视频| 亚洲欧洲精品成人久久奇米网 | 日韩影院精彩在线| 成人午夜av电影| 91精品国产综合久久福利 | 国产亚洲欧美激情| 视频在线在亚洲| 成人免费视频视频在线观看免费 | 亚洲精品成人精品456| 国产精品一区三区| 欧美一区二区视频在线观看2022| 亚洲另类中文字| 国产成人av电影| 日韩欧美久久一区| 香蕉av福利精品导航| 97国产一区二区| 久久久久久久久99精品| 五月婷婷另类国产| 在线亚洲高清视频| 亚洲欧洲av一区二区三区久久| 欧美日韩卡一卡二| 自拍偷在线精品自拍偷无码专区 |