if (!el || !method) { return false; }

" /> 亚洲 欧洲 日产 专区,热久久这里只有精品,久久久免费观看视频

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

Javascript YUI 讀碼日記之 YAHOO.util.Dom - Part.2 0

batch: function(el, method, o, override) {
    // 讓 el 始終為 HTMLElement
    el = (el && (el.tagName || el.item)) ? el : Y.Dom.get(el); 

    if (!el || !method) {
        return false;
    }

    //  確定返回的對(duì)象
    var scope = (override) ? o : window;

    // 看起來(lái)是個(gè) HTMLElement 或者不是 Array
    if (el.tagName || el.length === undefined) {
        return method.call(scope, el, o);
    } 

    var collection = []; 
    for (var i = 0, len = el.length; i < len; ++i) {
        collection[collection.length] = method.call(scope, el[i], o);
    }

    return collection;
},小馬補(bǔ)充

batch 是 YUI Dom 庫(kù)的核心之一。它最大的意義在于,它讓 Dom 庫(kù)的其他大多方法
的第一個(gè)參數(shù)可以是一個(gè) id / 元素對(duì)象 或 一組 id/元素對(duì)象,減少了循環(huán)的使用。在這里可以找到 call 與 apply 的用法。在了解了 batch 以后,下來(lái)看 YUI.util.Dom 是怎么使用這一方法的,一口氣看兩個(gè)函數(shù)

getStyle: function(el, property) {
    // toCamel 函數(shù)后面介紹
    property = toCamel(property);

    // 獲取節(jié)點(diǎn)的樣式
    var f = function(element) {
        return getStyle(element, property);
    };

    return Y.Dom.batch(el, f, Y.Dom, true);
},setStyle: function(el, property, val) {
    property = toCamel(property);

    // 設(shè)置節(jié)點(diǎn)的樣式
    var f = function(element) {
        setStyle(element, property, val);        
    };

    Y.Dom.batch(el, f, Y.Dom, true);
},有關(guān)這兩個(gè)函數(shù)的具體用法,可以看下相關(guān)的文檔。其實(shí)從參數(shù)上就很容易理解怎么使用。看上面的兩個(gè)函數(shù)有利于理解 YAHOO.util.Dom.batch 的調(diào)用方式。

接下來(lái),粗略看下 getXY

getXY: function(el) {
    var f = function(el) {
        // 確定元素是否“肉眼可見(jiàn)”
        if ( (el.parentNode === null || el.offsetParent === null ||
                this.getStyle(el, 'display') == 'none') && 
                            el != el.ownerDocument.body) {
            return false;
        }

        return getXY(el);
    };

    return Y.Dom.batch(el, f, Y.Dom, true);
},getX 與 getY 方法也是調(diào)用此函數(shù),只是獲取返回值的數(shù)組元素不一樣。由于瀏覽器的兼容問(wèn)題,提供給用戶(hù)的 YAHOO.util.Dom.getXY 也僅僅是判斷變量以后,再扔給最為復(fù)雜的內(nèi)部 getXY 函數(shù)。

OK,留下太多的“懸念”了,下一期著重將它們解決。

JavaScript技術(shù)Javascript YUI 讀碼日記之 YAHOO.util.Dom - Part.2 0,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 恶作剧之吻3| 矢部享佑| la ciociara| kanako| 少年智力开发报| 布丽特妮·罗伯森| 黄影| 非他莫属| 福音电影| 真爱惹麻烦免费完整版电视剧| 功夫2免费观看普通话2021| 芝加哥警署第十一季| 林智妍三部曲电影免费观看| 暴走财神4| 买下我完整版电影免费观看| 回响电视剧演员表| 巴黎最后的探戈| 香港艳情电影| 赵霏儿| 大学英语精读4课后答案| 香蜜沉沉烬如霜吻戏| 汽水音乐官网| 珍珠少女| 人口高质量发展形势与政策论文| 妹妹扮演的角色| 嗯~啊~快点死我男男视频| 永远少年电影免费播放| 刘越| 蓝盾保险箱电影| 高达w| 世界赠予我的钢琴曲| 电影疯狂之人| 长元音| 监禁时间2| 红旗车驾驶员个人主要事迹材料 | 仲文你好vlog最新视频| 安达佑实| 新人类男友会触电电视剧免费观看全集 | 绿门背后| 新有菜免费在线观看| 羞羞的|