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

📄 yuiloader-beta.js

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JS
📖 第 1 页 / 共 5 页
字号:
        }        return o;    },    /**     * Executes the supplied function in the scope of the supplied      * object 'when' milliseconds later.  Executes the function a      * single time unless periodic is set to true.     * @method later     * @since 2.4.0     * @param when {int} the number of milliseconds to wait until the fn      * is executed     * @param o the scope object     * @param fn {Function|String} the function to execute or the name of      * the method in the 'o' object to execute     * @param data [Array] data that is provided to the function.  This accepts     * either a single item or an array.  If an array is provided, the     * function is executed with one parameter for each array item.  If     * you need to pass a single array parameter, it needs to be wrapped in     * an array [myarray]     * @param periodic {boolean} if true, executes continuously at supplied      * interval until canceled     * @return a timer object. Call the cancel() method on this object to      * stop the timer.     */    later: function(when, o, fn, data, periodic) {        when = when || 0;         o = o || {};        var m=fn, d=data, f, r;        if (YAHOO.lang.isString(fn)) {            m = o[fn];        }        if (!m) {            throw new TypeError("method undefined");        }        if (!YAHOO.lang.isArray(d)) {            d = [data];        }        f = function() {            m.apply(o, d);        };        r = (periodic) ? setInterval(f, when) : setTimeout(f, when);        return {            interval: periodic,            cancel: function() {                if (this.interval) {                    clearInterval(r);                } else {                    clearTimeout(r);                }            }        };    },    /**     * A convenience method for detecting a legitimate non-null value.     * Returns false for null/undefined/NaN, true for other values,      * including 0/false/''     * @method isValue     * @since 2.3.0     * @param o {any} the item to test     * @return {boolean} true if it is not null/undefined/NaN || false     */    isValue: function(o) {        // return (o || o === false || o === 0 || o === ''); // Infinity fails        var l = YAHOO.lang;return (l.isObject(o) || l.isString(o) || l.isNumber(o) || l.isBoolean(o));    }};/* * An alias for <a href="YAHOO.lang.html">YAHOO.lang</a> * @class YAHOO.util.Lang */YAHOO.util.Lang = YAHOO.lang; /** * Same as YAHOO.lang.augmentObject, except it only applies prototype  * properties.  This is an alias for augmentProto. * @see YAHOO.lang.augmentObject * @method augment * @static * @param {Function} r  the object to receive the augmentation * @param {Function} s  the object that supplies the properties to augment * @param {String*|boolean}  arguments zero or more properties methods to  *        augment the receiver with.  If none specified, everything *        in the supplier will be used unless it would *        overwrite an existing property in the receiver.  if true *        is specified as the third parameter, all properties will *        be applied and will overwrite an existing property in *        the receiver */YAHOO.lang.augment = YAHOO.lang.augmentProto;/** * An alias for <a href="YAHOO.lang.html#augment">YAHOO.lang.augment</a> * @for YAHOO * @method augment * @static * @param {Function} r  the object to receive the augmentation * @param {Function} s  the object that supplies the properties to augment * @param {String*}  arguments zero or more properties methods to  *        augment the receiver with.  If none specified, everything *        in the supplier will be used unless it would *        overwrite an existing property in the receiver */YAHOO.augment = YAHOO.lang.augmentProto;       /** * An alias for <a href="YAHOO.lang.html#extend">YAHOO.lang.extend</a> * @method extend * @static * @param {Function} subc   the object to modify * @param {Function} superc the object to inherit * @param {Object} overrides  additional properties/methods to add to the *        subclass prototype.  These will override the *        matching items obtained from the superclass if present. */YAHOO.extend = YAHOO.lang.extend;YAHOO.register("yahoo", YAHOO, {version: "2.4.1", build: "742"});/** * Provides a mechanism to fetch remote resources and * insert them into a document * @module get * @requires yahoo *//** * Fetches and inserts one or more script or link nodes into the document  * @namespace YAHOO.util * @class YAHOO.util.Get */YAHOO.util.Get = function() {    /**     * hash of queues to manage multiple requests     * @property queues     * @private     */    var queues={},             /**     * queue index used to generate transaction ids     * @property qidx     * @type int     * @private     */        qidx=0,             /**     * node index used to generate unique node ids     * @property nidx     * @type int     * @private     */        nidx=0,         // ridx=0,        // sandboxFrame=null,    /**     * interal property used to prevent multiple simultaneous purge      * processes     * @property purging     * @type boolean     * @private     */        purging=false,        ua=YAHOO.env.ua,                 lang=YAHOO.lang;        /**      * Generates an HTML element, this is not appended to a document     * @method _node     * @param type {string} the type of element     * @param attr {string} the attributes     * @param win {Window} optional window to create the element in     * @return {HTMLElement} the generated node     * @private     */    var _node = function(type, attr, win) {        var w = win || window, d=w.document, n=d.createElement(type);        for (var i in attr) {            if (attr[i] && YAHOO.lang.hasOwnProperty(attr, i)) {                n.setAttribute(i, attr[i]);            }        }        return n;    };    /**     * Generates a link node     * @method _linkNode     * @param url {string} the url for the css file     * @param win {Window} optional window to create the node in     * @return {HTMLElement} the generated node     * @private     */    var _linkNode = function(url, win) {        return _node("link", {                "id": "yui__dyn_" + (nidx++),                "type": "text/css",                "rel": "stylesheet",                "href": url            }, win);    };    /**     * Generates a script node     * @method _scriptNode     * @param url {string} the url for the script file     * @param win {Window} optional window to create the node in     * @return {HTMLElement} the generated node     * @private     */    var _scriptNode = function(url, win) {        return _node("script", {                "id": "yui__dyn_" + (nidx++),                "type": "text/javascript",                "src": url            }, win);    };    /**     * Returns the data payload for callback functions     * @method _returnData     * @private     */    var _returnData = function(q) {        return {                tId: q.tId,                win: q.win,                data: q.data,                nodes: q.nodes,                purge: function() {                    _purge(this.tId);                }            };    };    /*     * The request failed, execute fail handler with whatever     * was accomplished.  There isn't a failure case at the     * moment unless you count aborted transactions     * @method _fail     * @param id {string} the id of the request     * @private     */    var _fail = function(id) {        var q = queues[id];        // execute failure callback        if (q.onFailure) {            var sc=q.scope || q.win;            q.onFailure.call(sc, _returnData(q));        }    };    /**     * The request is complete, so executing the requester's callback     * @method _finish     * @param id {string} the id of the request     * @private     */    var _finish = function(id) {        var q = queues[id];        q.finished = true;        if (q.aborted) {            _fail(id);            return;        }        // execute success callback        if (q.onSuccess) {            var sc=q.scope || q.win;            q.onSuccess.call(sc, _returnData(q));        }    };    /**     * Loads the next item for a given request     * @method _next     * @param id {string} the id of the request     * @param loaded {string} the url that was just loaded, if any     * @private     */    var _next = function(id, loaded) {        var q = queues[id];        if (q.aborted) {            _fail(id);            return;        }        if (loaded) {            q.url.shift();             if (q.varName) {                q.varName.shift();             }        } else {            // This is the first pass: make sure the url is an array            q.url = (lang.isString(q.url)) ? [q.url] : q.url;            if (q.varName) {                q.varName = (lang.isString(q.varName)) ? [q.varName] : q.varName;            }        }        var w=q.win, d=w.document, h=d.getElementsByTagName("head")[0], n;        if (q.url.length === 0) {            // Safari 2.x workaround - There is no way to know when             // a script is ready in versions of Safari prior to 3.x.            // Adding an extra node reduces the problem, but doesn't            // eliminate it completely because the browser executes            // them asynchronously.             if (q.type === "script" && ua.webkit && ua.webkit < 420 &&                     !q.finalpass && !q.varName) {                // Add another script node.  This does not guarantee that the                // scripts will execute in order, but it does appear to fix the                // problem on fast connections more effectively than using an                // arbitrary timeout.  It is possible that the browser does                // block subsequent script execution in this case for a limited                // time.                var extra = _scriptNode(null, q.win);                extra.innerHTML='YAHOO.util.Get._finalize("' + id + '");';                q.nodes.push(extra); h.appendChild(extra);            } else {                _finish(id);            }            return;        }         var url = q.url[0];        if (q.type === "script") {            n = _scriptNode(url, w);        } else {            n = _linkNode(url, w);        }        // track this node's load progress        _track(q.type, n, id, url, w, q.url.length);        // add the node to the queue so we can return it to the user supplied callback        q.nodes.push(n);        // add it to the head        h.appendChild(n);                // FireFox does not support the onload event for link nodes, so there is        // no way to make the css requests synchronous. This means that the css         // rules in multiple files could be applied out of order in this browser        // if a later request returns before an earlier one.  Safari too.        if ((ua.webkit || ua.gecko) && q.type === "css") {            _next(id, url);        }    };    /**     * Removes processed queues and corresponding nodes     * @method _autoPurge     * @private     */    var _autoPurge = function() {        if (purging) {            return;        }        purging = true;        for (var i in queues) {            var q = queues[i];            if (q.autopurge && q.finished) {                _purge(q.tId);            }        }        purging = false;    };    /**     * Removes the nodes for the specified queue     * @method _purge     * @private     */    var _purge = function(tId) {        var q=queues[tId];        if (q) {            var n=q.nodes, l=n.length, d=q.win.document,                 h=d.getElementsByTagName("head")[0];            for (var i=0; i<l; i=i+1) {                h.removeChild(n[i]);            }        }    };

⌨️ 快捷键说明

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