jquery.position()无法正常工作

时间:2010-04-21 06:30:53

标签: jquery-ui positioning

我正在开发一个菜单系统,当用户在另一个ul上执行mouseOver时,我希望ul显示为下拉列表。我以为我会使用位置设置下拉列表的位置(所以它实际上看起来像一个菜单)。我想要的是下拉列表的左上角从包装列表项目的左下角开始。

不幸的是,定位以几种不同的方式失败:

  • 在Firefox中,下拉列表似乎偏移了大约-100 25像素
  • 与其他项目相比,列表中的第一项与左侧的偏移量不同
  • IE中的偏移量与FF
  • 中的偏移量不同
  • 每次在资源管理器中重复执行定位会产生不同的位置。

我已经创建了一个测试页面,您可以在其中查看效果: http://test.evju.biz/test/test_position.html

1 个答案:

答案 0 :(得分:0)

我们通过不使用jquery.ui.position解决了这个问题。以下是我们最终使用的代码:

$(this).find("ul.subnav").first().css({
                left: $(this).position().left + 'px',
                top: ($(this).position().top + $(this).height()) + 'px'
            });