论坛首页 入门技术论坛

关于offsetTop的疑问

浏览 4075 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-22  
CSS

 

<body>
<div style="border: 10px solid black;width: 640px; height: 150px;">
<input type="button" value="取消" onclick="alert(this.offsetTop)"/>
</div>
<input type="button" value="提交" onclick="alert(this.offsetTop)" /> </body> 

 我现在在body里加了这样的代码,其中 “取消”的button在div里面,我取他的offsetTop 为什么会是 0 呢,offsetTop的定义不应该是:当前对象到其上级对象顶部的距离。

 

 

我这里把div的border width 加成10了, “取消”的button的offsetTop 不应该是 10 吗? 怎么会是0了呢?

 

 

 

 

 

 

 

   发表时间:2008-07-22  

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
    body
    {
    	margin:0px;
    }
</style>
</head>
<body>
<div style="height:200px;width:200px;border:2px solid black;" onclick="offset(event)">
<div style="height:20px;width:200px" onclick="offset(event)">AAA</div>
<div style="height:20px;width:200px" onclick="offset(event)">BBB</div>
<div style="height:20px;width:200px" onclick="offset(event)">CCC</div>
</div>
</body>
</html>
<script>
    function offset(e)
    {
        var e=e||window.event;
       var src = e.target || e.srcElement;
        alert(src.offsetTop);
    }
</script>

 

 

在看看这个  也是关于offset问题的 在firefox下没有问题  在IE6下就有问题  offsetTop值的问题

 

 

 

 

 

 

 

0 请登录后投票
   发表时间:2008-07-22  
看来这里的搞CSS人比较少啊!~~
不过问题已经解决了!~~
0 请登录后投票
   发表时间:2008-08-02  
IE中你改div的border设为1,padding设为10pxoffsetTop应该就是10了

firefox与ie的处理方式不同,offsetTop取得的是相对body的

css不用单独搞,多积累些就ok了

offsetTop不是css相关,是DOM的知识了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics