0

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

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

  • 在 Firefox 中,下拉菜单似乎偏移了大约 -100 25 像素
  • 与其他项目相比,列表中的第一项在左侧的偏移量不同
  • IE中的偏移量与FF中的不一样
  • 在 explorer 中重复定位会导致每次定位不同。

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

4

1 回答 1

0

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

$(this).find("ul.subnav").first().css({
                left: $(this).position().left + 'px',
                top: ($(this).position().top + $(this).height()) + 'px'
            });
于 2010-04-22T09:10:59.990 回答