Javascript 当父div具有位置:相对时,页面计算错误

Javascript 当父div具有位置:相对时,页面计算错误,javascript,css,events,javascript-events,position,Javascript,Css,Events,Javascript Events,Position,当父div具有position:relativecss属性时,e.pageY不会给出正确的结果 演示: 同时,如果没有位置,结果似乎很好:父div的相对位置 #mydiv{ width: 100%; height: 250px; /* position: relative; */ } 正如我想象的。。。e、 佩吉工作正常 没有“位置:”规则时的偏移值为158。一旦您添加“位置:相对”,您的偏移量将为0。为什么?我假设当没有position:relative时,它得到的是相对于身体

当父div具有
position:relative
css属性时,
e.pageY
不会给出正确的结果

演示:

同时,如果没有位置,结果似乎很好:父div的相对位置

#mydiv{
  width: 100%;
  height: 250px; 
  /* position: relative; */
}

正如我想象的。。。e、 佩吉工作正常

没有“位置:”规则时的偏移值为158。一旦您添加“位置:相对”,您的偏移量将为0。为什么?我假设当没有position:relative时,它得到的是相对于身体的偏移量。使用position:relative,它得到相对于“mydiv”的偏移量

此特定示例的解决方案:使用固定数字“158”代替“vControl.offsetTop”


也许有经验的人会更好地解释并提供最佳解决方案。

非常感谢您的努力。我认为
offsetParent
可以提供更好的解决方案。没问题,我是来帮忙的!