您好我有一个工具提示我正在使用jquery,它将alt值从图像加载到浮动div中,该div由jquery offset()定位。我的代码适用于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();
});
答案 0 :(得分:1)
由于various reasons,建议不要使用.live
功能。尝试使用更典型的方法:
$(document).ready(function() {
$("img.more_info, div.option_item_wrap label").mouseover(function() {
// Your code
});
});
这可能会或可能不会解决您的问题,但如果确实如此,那么您遇到的问题与this question相同。
答案 1 :(得分:0)
if($.browser.mozilla){
topPos = findIconPost.top - (toolTipHeight + 90);
}
这是我能想到的唯一解决方案,我只是调整了firefox的偏移量。