欢迎光临
一个有态度、有温度的分享型博客

Js中offsetparent属性的用法

offsetParent属性返回一个对象的引用,这个对象是距离调用offsetParent的元素最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素。 如果这个容器元素未进行CSS定位, 则offsetParent属性的取值为根元素(在标准兼容模式下为html元素;在怪异呈现模式下为body元素)的引用。 当容器元素的style.display 被设置为 “none”时(译注:IE和Opera除外),offsetParent属性 返回 null。

语法:

parentObj = element.offsetParent

变量:

parentObj 是一个元素的引用,当前元素的偏移量在其中计算。

代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script type="text/javascript" language="JavaScript">
        function offset_init() {
            var pElement = document.getElementById("sonObj");
            parentObj = pElement.offsetParent;
            alert(parentObj.tagName);
        }
    </script>
</head>
<body onload="offset_init()">
    <div id="parent">
        <p id="sonObj">测试OffsetParent属性</p>
    </div>
</body>
</html>

测试结果:

Firefox3:”BODY”

Internet Explorer 7:”BODY”

Opera 9.51:”BODY”

Chrome 0.2:”BODY”

Safari 3:”BODY”

结论:

当某个元素及其DOM结构层次中元素都未进行CSS定位时(absolute或者relative)[或者某个元素进行CSS定位时而DOM结构层次中元素都未进行CSS定位时],则这个元素的offsetParent属性的取值为根元素。更确切地说,这个元素的各种偏移量计算(offsetTop、offsetLeft等)的参照物为Body元素。(其实无论时标准兼容模式还是怪异模式,根元素都为Body元素)

参考文章:

http://www.cnblogs.com/jhxk/articles/1669680.html ;

— EOF — 看完了,留个脚印 ^_^

转载请注明出处:容休博客 » Js中offsetparent属性的用法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址