2011-11-28 30 views
0

我开发了一个小工具提示插件。它在IE,Chrome中工作正常。在Firefox中它是第一次正常工作。第二次,如果我刷新工具提示是奇怪的定位..不知道发生了什么。jquery ui定位不断变化

这里的步骤

  1. 在Firefox

    第一点你的鼠标移到第一个输入框--tooltip将靠近输入框

    1. 然后向下滚动到第二个输入框和鼠标通过第二个输入框 - 第二个输入框附近的工具提示。
    2. 单击Firefox中的刷新按钮不滚动。
    3. 现在将鼠标移过第一个输入框..您将看不到提示框。
    4. 清除历史记录并返回您应该看到输入框附近的工具提示。

    - >火狐3.6.24/tryed更新到Firefox 8仍然是同样的问题

的代码是在 ​​

复制到桌面,并尝试在你的Firefox .. 。

感谢

+0

你是什么意思刷新?如果你可以为你的步骤编号,这将是有益的。 – mrtsherman

+0

请在这里发布您的代码。 –

+0

查看jsfiddle链接 – coool

回答

2

jQueryUI - Position

注:jQuery UI的不支持定位隐藏要素。

(而结果是,它在某种程度上忽略了网页的滚动偏移量)

您可以通过给它下面的CSS属性使它成为一个“看不见块”八九不离十绕过它:display: blockvisibility: hidden权利之前使用position()函数,然后在需要时删除它们。

检查http://jsfiddle.net/frozenkoi/RmKyC/我补充说,我说,然后右键删除之前和thecall到tip.position({...})后(你可以用tip.css. ...或任何添加的风格为内联)CSS类(.hiddenTip

您有其他问题也。您在页面加载时计算工具提示的位置。物品重新排列后会发生什么?也许文本会因为窗口被调整大小或插入内容或元素更改大小而重排。工具提示仍显示在旧的预先计算的位置。我认为这就是@Eben Roux在他的回答中所谈论的。

在我的小提琴中点击说'演示页面'的H1,你会看到它是如何得到一个高于它的余量和一切向下,除了工具提示。

编辑:更新小提琴:http://jsfiddle.net/frozenkoi/wKTnC/基于@ coool的修改。请注意,我添加了!importantdisplayvisibility以及其他一些小的调整。

+0

如果我进入的位置然后仍然存在滚动问题。不知道我错过了什么...(我想使用jQuery UI的整个方法可能不是正确的,我必须自己定位???)http://jsfiddle.net/RmKyC/3/ – coool

+0

@ coool我在上面的评论中对你的小提琴做了一些小的修改,看看它是否更好一些。为班的'visibility'和'display'属性添加'!important'。 – frozenkoi

+0

我只看到!重要的被添加..如何改变了方程.. – coool

2

我发现position行为奇怪的尚不可见的元素。您可能想要在显示工具提示时对其进行定位。

+0

每当鼠标移过去时我都会定位它。它在IE/Chrome中运行正常。甚至在ff中只有当我刷新时 – coool

+0

每次设置位置都应该没问题。它只在鼠标进入元素时设置一次。 –

+0

@EbenRoux:你的最后评论可以作为改进编辑到你的答案中。 – tzot