天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript YUI 讀碼日記之 YAHOO.util.Dom - Part.4

var getXY = function() {
    // 判斷是否是 IE
    if (document.documentElement.getBoundingClientRect) {
        // 注1
        return function(el) {
            var box = el.getBoundingClientRect();

            var rootNode = el.ownerDocument;
            return [box.left + 
          Y.Dom.getDocumentScrollLeft(rootNode), box.top +
                    Y.Dom.getDocumentScrollTop(rootNode)];
        };
    } else {
        return function(el) {
            var pos = [el.offsetLeft, el.offsetTop];
            var parentNode = el.offsetParent;

            // 判斷是否在 Safari 下,節(jié)點(diǎn)是否為 absolute ,
            // 并且父元素是否為 body
            // 注2.
            var accountForBody = (isSafari &&
                    Y.Dom.getStyle(el, 'position') == 'absolute' &&
                    el.offsetParent == el.ownerDocument.body);

            // 如果父元素不是自身
            if (parentNode != el) {
                while (parentNode) {
                    pos[0] += parentNode.offsetLeft;
                    pos[1] += parentNode.offsetTop;
                    if (!accountForBody && isSafari && 
                            Y.Dom.getStyle(parentNode,'position') 
                                                  == 'absolute' ) { 
                        accountForBody = true;
                    }
                    parentNode = parentNode.offsetParent;
                }
            }

            // 還是針對(duì) Safari 的
            if (accountForBody) { //safari doubles in this case
                pos[0] -= el.ownerDocument.body.offsetLeft;
                pos[1] -= el.ownerDocument.body.offsetTop;
            } 
            parentNode = el.parentNode;

            // account for any scrolled ancestors
            while ( parentNode.tagName && 
                         !patterns.ROOT_TAG.test(parentNode.tagName) ) 
            {
               // work around opera inline/table scrollLeft/Top bug
               // 注3.
               if (Y.Dom.getStyle(parentNode, 'display')
                                  .search(/^inline|table-row.*$/i)) { 
                    pos[0] -= parentNode.scrollLeft;
                    pos[1] -= parentNode.scrollTop;
                }

                parentNode = parentNode.parentNode; 
            }

            return pos;
        };
    }
}() // NOTE: Executing for loadtime branching注. 有關(guān) IE 的 getBoundingClientRect 方法,可以參考這里。
注. Safari 的 BUG,詳細(xì)情況參見這里。
注. 參見老外的原話(出處):
"- Remove parent scroll UNLESS that parent is inline or a table 
to work around Opera inline/table scrollLeft/Top bug"
Fixed in Opera 9.5. (also, Opera 9.5 supports getBoundingClientRect 
and getClientRects.)最后,有關(guān)更多 DOM 的兼容性,可以參看 PPK 的總結(jié)(怎么又是他)。

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

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

主站蜘蛛池模板: 女性私密五月天 | 日本久久久久亚洲中字幕 | 久久这里只精品热在线18 | 美女扣逼软件 | va亚洲va天堂va视频在线 | 午夜在线观看免费观看 视频 | 成人亚洲视频 | 国产亚洲欧洲日韩在线三区 | 黄色天堂网站 | 久久er99热精品一区二区 | 脔到她哭H粗话HWWW男男动漫 | 美女扒开腿让男生桶爽免费APP | 国产精品系列在线观看 | 国产国产乱老熟视频网站 | 农民工老头在出租屋嫖老熟女 | 国产99九九久久无码熟妇 | 国产精品人妻在线观看 | 桃隐社区最新最快地址 | 国产AV视频二区在线观看 | 嗯啊快拔出来我是你老师视频 | 色狗av影院 | 免费看到湿的小黄文软件APP | 女的把腿张开男的往里面插 | 2020亚洲色噜噜狠狠网站 | 92午夜理论第1000集 app | 99九九99九九九视频精品 | 吉吉av电影 | 91精品国产色综合久久不 | 久久久久久久久a免费 | 亚洲一区精品在线 | 国产午夜精品不卡视频 | 美女被爆插 | 亚洲成人国产 | 精子pk美女 | 亚洲福利精品电影在线观看 | 精选国产AV精选一区二区三区 | 琪琪伦伦影院理论片 | 美国特级成人毛片 | 欧美三级不卡在线观线看 | 日韩精品无码免费专区 | 男男高H啪肉Np文多攻多一受 |