gpt4 book ai didi

gwt firefox getAbsoluteLeft()

转载 作者:行者123 更新时间:2023-12-04 02:29:47 25 4
gpt4 key购买 nike

在尝试设置相对于 GWT 中的另一个元素的弹出窗口时,我看到了一个真正奇怪的行为。似乎设置弹出位置(一个独立的 float 元素)改变了我从 getAbsoluteRight() 或 getAbsoluteLeft() 之类的调用中得到的答案,用于完全不同的元素,该元素在页面上是静态的,在视觉上不会移动。

我添加了一些打印语句来检查发生了什么,所以这里是代码:

System.out.println(item.td);
int position = item.td.getAbsoluteRight()-offsetWidth;
System.out.println("left/right:" + item.td.getAbsoluteLeft() + "/" + item.td.getAbsoluteRight() + ". sent:" + (item.td.getAbsoluteRight() - offsetWidth) + "=" + position);
popup.setPopupPosition(position, item.td.getAbsoluteBottom());
System.out.println("left/right:" + item.td.getAbsoluteLeft() + "/" + item.td.getAbsoluteRight() + ". sent:" + (item.td.getAbsoluteRight() - offsetWidth) + "=" + position);
popup.addStyleName("bigger");
System.out.println("left/right:" + item.td.getAbsoluteLeft() + "/" + item.td.getAbsoluteRight() + ". sent:" + (item.td.getAbsoluteRight() - offsetWidth) + "=" + position);
System.out.println(item.td);

这是 Chrome 上的结果
Menu displayed, widths: 81/340=340
<td class="hover">Daniel?</td>
left/right:1104/1185. sent:845=845
left/right:1121/1202. sent:862=845
left/right:1121/1202. sent:862=845
<td class="hover">Daniel?</td>

这是 Firefox 上的结果
Menu displayed, widths: 81/340=340
<td class="hover">Daniel?</td>
left/right:1254/1335. sent:995=995
left/right:1273/1354. sent:1014=995
left/right:1273/1354. sent:1014=995
<td class="hover">Daniel?</td>

所以在调用 setPopupPosition() 后,固定元素的左/右坐标突然改变(X 坐标从 1254 变为 1273),而相关元素实际上停留在同一个地方(视觉上)。我真的不知道它是如何发生的,因为弹出窗口甚至不知道该元素的存在。更重要的是,虽然我可以始终如一地重现错误,但如果我切换弹出内容就不会发生这种情况......

...顺便说一下,我将firefox给出的坐标与页面截图进行了比较,返回值不仅错误,而且鉴于我的屏幕大小(1366x768)并且没有滚动,这是不可能的。

我可能会尝试设置两次位置,因为第二个值实际上是正确的,但我真的很想了解这里发生了什么......

非常感谢!

最佳答案

差异正好是 150 像素。 (左侧可能总共 75 像素)
您是否检查过页面:http://validator.w3.org/
边距/填充(IE 中的边框)之间通常存在差异。

当我离开你的getAbsoluteRight()-offsetWidth代码,您使用的是 td获得绝对的权利。但是在popup上设置位置.这应该意味着您在 popup 之间有一些边框/边距/填充和 td内容。
getAbsoluteLeft()getAbsoluteRight() (以及顶部和底部)都是根据其父元素的滚动和偏移位置计算的。

此外,空对象通常会以默认宽度结束。但是一旦您输入内容,大小就会适应其内容。

关于gwt firefox getAbsoluteLeft(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com