【发布时间】:2013-09-25 22:34:27
【问题描述】:
我有以下代码:
jQuery(function () {
jQuery('.tooltip').tooltip({
position: {
my: "left top",
at: "right top",
collision: "flip fit"
},
content: function () {
var element = jQuery(this);
if (element.is("[rel]")) {
var text = element.attr("rel");
return '<div><img class="map" src="' + text + '"></div>';
}
if (element.is("[title]")) {
return element.attr("title");
}
if (element.is("img")) {
return element.attr("alt");
}
}
});
});
这可以按预期工作,但仅在初始悬停之后(悬停在“rel”元素上)。
第一次鼠标悬停时,工具提示出现,但与窗口发生冲突(图像未翻转或调整大小)。从第二次悬停开始,工具提示会根据需要翻转和调整大小。
我在第一次悬停之前和之后检查了“工具提示”元素,但我没有发现任何差异。我还检查了每个元素的 CSS,结果相同。
任何想法都会有所帮助,谢谢。
编辑:
现场直播:http://castle.staging.wpengine.com/themes/
如果您检查网站,请确保图片与浏览器冲突(如果您的屏幕很大,您可能需要调整浏览器的大小)
一些图片来指出问题:
【问题讨论】:
-
你能发个 jsfiddle 吗?
-
apaul34208:我已经编辑了帖子,现在包含一个链接,显示有问题的网页。谢谢
-
在图像加载之前只设置最小宽度和最小高度怎么样?否则,您将需要按照 LeGEC 的建议在服务器端使用实际大小来填充数据属性。由于纵横比不匹配,它仍然会跳跃,但可能更容易接受,因为无论如何它可能会在后续图像上这样做。就个人而言,我现在会接受 LeGEC 的建议,除非您想更改插件以加载图像然后显示工具提示(它可能只是在初始状态下有一个错误)。
-
@TrueBlueAussie 感谢您的建议,我真的不明白为什么图像具有不同的大小和不同的悬停。你的 jsfiddle 真的帮助我理解了,此时我会再等一天左右,如果没有更好的解决方案,我会修改插件(修改插件是目前最好的解决方案)。
标签: jquery jquery-ui jquery-ui-tooltip