怎样取得页面最底部的坐标? 昨天问的已结贴了,但答案不是我要的。再问
*************
页面内容height=10000 高度不确定。
*************
最底页面有一句:<div ID=DDD></div>
象以上页面,怎样取得<div ID=DDD></div>中DDD的绝对坐标?
昨天的答案是y = document.body.scrollTop+document.body.clientHeight-DDD.offsetHeight;
答案是可以得到底部的坐标,但不是我要的绝对的底部。
问题是这样的,可能我没说清楚。
一个页面的最高度不确定,可能是10000高,最底页面有一句:<div ID=DDD></div>。昨天的答案无论页面有多高,都得到621和答案。这样的坐标在12000的页面中就变成在实际页面的半中间了。而不是我说的最底。
问题点数:100、回复次数:9Top
1 楼zhaoxiaoyang(梅雪香@深圳)回复于 2004-12-04 17:10:58 得分 20
你要干什么?实现什么功能?
干嘛一棵树上吊死,换一棵再吊~Top
2 楼flyskytoday(夜漫漫路漫漫)回复于 2004-12-04 19:37:43 得分 20
你说是是什啥绝对坐标呀
DDD是相对于屏幕还是相对于IE窗口呢?Top
3 楼lienzhu(李强)回复于 2004-12-04 19:52:55 得分 20
oRect = DDD.getBoundingClientRect();
X=oRect.left
Y=oRect.topTop
4 楼herocome(隐身人)回复于 2004-12-04 23:35:43 得分 0
回复: flyskytoday“ 你说是是什啥绝对坐标呀,DDD是相对于屏幕还是相对于IE窗口呢?”
我指的是打开的页面下面看不见的坐标。就是等于
<div ID=D2 position:absolute;top:10000>ok</div>
这种效果,要把D2的Top坐标和一个不确定的页面最底下的<div ID=DDD></div>的坐标相关联起来。
Top
5 楼herocome(隐身人)回复于 2004-12-04 23:39:29 得分 0
上面打错代码,再打一回
我指的是打开的页面下面看不见的坐标。就是等于
<div ID=D2 style=position:absolute;top:10000>ok</div>
这种效果,要把D2的Top坐标和一个不确定的页面最底下的<div ID=DDD></div>的坐标相关联起来。
就是说,有个D2的内容,要把它和一个不一定在什么位置的DDD的内容合在一起显示。由于某些原因,不能用innerHTML之类的方法进行内容相加,也不能用DOM来把新内容写进DDD的区域里,只能是用绝对坐标的形式叠加在DDD的上层。
不知我这样表达大家能不能看清楚Top
6 楼herocome(隐身人)回复于 2004-12-05 03:36:09 得分 0
如果没办法得到坐标的话。有没办法得到所有的元素集合呢?Top
7 楼flyskytoday(夜漫漫路漫漫)回复于 2004-12-05 12:24:03 得分 40
你地意思是说取DDD在页面中地相对位置(不是屏幕)吗?
<div onclick="alert(this.offsetTop)" id="DDD">aaa</div>
不管DDD在什么位置总是取地相对于网页地相对位置Top
8 楼herocome(隐身人)回复于 2004-12-05 16:21:43 得分 0
回复: flyskytoday(光风.每天进步一点) “你地意思是说取DDD在页面中地相对位置(不是屏幕)吗?”
对。情况是这样,一个页面中。在最底下有这样的情况出现,因为页面是动态生成的,而且页面是可以让用户加代码的,有些用户在页面中加上“<div style=display:none>”后会把我原页面中的DDD区隐藏掉,并且DDD的高度不确定。而且,页面中有个<div style=display:none>这句话是会把下面的DDD隐藏掉,我现在就想取出DDD的实际坐标后,用这个坐标值来取代页面中<DIV ID=DDD2 style=position:absolute:top:-1000>实际要显示的页面</div> ( DDD2是我放在页首的页面,这样就不会被人用<div style=display:none>隐藏掉我的DDD页面了 )
<div style=display:none>
<div ID=DDD></div>
你上面给出的“<div onclick="alert(this.offsetTop)" id="DDD">aaa</div>”得到的坐标是对的,但要点击后才行,能不能不用点击就能取得呢?因为实际上的DDD已被人隐藏掉看不见了。Top
9 楼herocome(隐身人)回复于 2004-12-05 16:33:06 得分 0
看来还真是没办法了。我刚测过,在
<div style=display:none>
<div style=display:none>
<div style=display:none>
<div style=display:none>
<div ID=DDD> =============</div>
alert(DDD.offsetTop)
这种情况下得到的值全是-1
<div ID=DDD> =============</div>
<div style=display:none>
<div style=display:none>
<div style=display:none>
<div style=display:none>
alert(DDD.offsetTop)
这种情况下得到的值是正确的。
问题就在于"<div style=display:none>"是由用户加上去的,而且肯定会显示在DDD的上面。这回真没办法不被人隐藏页面了。
Top




