【发布时间】:2011-12-09 22:28:11
【问题描述】:
您好,我有一个使用 jquery 制作的工具提示,它将图像中的 alt 值加载到由 jquery offset() 定位的浮动 div 中。我的代码适用于 Chrome/Safari,但不适用于 Firefox。
在 Chrome 中,工具提示出现在该项目标签右侧的图标上方。 (这也是在模态框中完成的,也许这就是问题所在?
我对此还有些陌生,所以请原谅我的代码。
$("img.more_info, div.option_item_wrap label").live('mouseover', function(e) {
optionIcon = $(this).closest('div').find('img.more_info');
optionInfoContent = optionIcon.attr('alt');
if(optionInfoContent != undefined) {
findImage = $(this).closest('div').find('span.option_item_image');
$("body").append('<div id="option_info"><p>' + optionInfoContent + '</p><div id="option_info_tail"></div></div>');
findImage.clone().prependTo('div#option_info p');
toolTipHeight = $('div#option_info').height();
findIconPost = optionIcon.offset();
topPos = findIconPost.top - (toolTipHeight + 20);
leftPos = findIconPost.left - 80;
$('div#option_info').css('top', topPos).css('left', leftPos).fadeIn();
};
}).live('mouseout', function() {
$('div#option_info').remove();
});
【问题讨论】:
-
所以 Firefox 和 Chrome 从偏移量返回不同的结果...偏移了大约 15px,有什么想法吗?
-
console.log( findIconPost )是否也返回不同的值? -
是的,返回值不同
-
optionIcon[0].offsetLeft和optionIcon[0].offsetTop怎么样 -
是的,它们也在 chrome 和 firefox 中返回不同的结果
标签: jquery firefox google-chrome