我遇到了定位div
的问题。这是div
:
<div class="facebookHoverDiv" style="position: absolute; top: 0; left: 0; z-index: 15000; display: none">
<div class="calendar-hover-top"></div>
<div class="calendar-hover-middle">
<div class="post-image"></div>
<div class="facebook-icon">Facebook</div>
<div class="post-content"><span id="facebook-text">content</span>
<div class="post-date">This will be the date.</div>
</div>
</div>
<div class="calendar-hover-bottom"></div>
</div>
<div class="twitterHoverDiv" style="position: absolute; top: 0; left: 0; z-index: 15000; display: none">
<div class="calendar-hover-top"></div>
<div class="calendar-hover-middle">
<div class="twitter-icon">Twitter</div>
<div class="post-content"><span id="twitter-text">content</span>
<div class="post-date">This will be the date.</div>
</div>
</div>
<div class="calendar-hover-bottom"></div>
</div>
我使用以下jQuery函数来显示工具提示:
function ShowToolTip(event, postType, postMessage, scheduleDate, customPostId, postId) {
if (postType == 'Twitter') {
$('.twitterHoverDiv .post-content #twitter-text').text(postMessage);
$('.twitterHoverDiv .post-content .post-date').text(scheduleDate);
$('.twitterHoverDiv').css("left", event.x - 65);
$('.twitterHoverDiv').css("top", event.y - $('.twitterHoverDiv').height());
$('.facebookHoverDiv').hide();
$('.twitterHoverDiv').show();
} else {
$('.facebookHoverDiv .post-content #facebook-text').text(postMessage);
var url = "http://host.mmm.dev.webedge.mcmurry.com/Media/Image.ashx?articleid=" + postId + "&custompostid=" + customPostId;
//url = url.replace("undefined", "0");
$('.facebookHoverDiv .post-image').css("background-image", "url('" + url + "')");
$('.facebookHoverDiv .post-image').css("background-size", "100%");
$('.facebookHoverDiv .post-content .post-date').text(scheduleDate);
$('.facebookHoverDiv').css("left", event.x - 65);
$('.facebookHoverDiv').css("top", event.y - $('.facebookHoverDiv').height());
$('.twitterHoverDiv').hide();
$('.facebookHoverDiv').show();
}
}
如果我在Google Chrome中运行此功能,则效果非常好。但是,如果我在FireFox中运行它,工具提示会显示在屏幕的左上角。问题似乎出现在$('.facebookHoverDiv').css("left", event.x - 65);
和$('.facebookHoverDiv').css("top", event.y - $('.facebookHoverDiv').height());
来电中。
我是否需要针对FireFox特定的内容?
答案 0 :(得分:2)
我明白了。以防万一其他人遇到这个问题。该问题是由event.x
和event.y
属性引起的。这些属性存在于Chrome中,但在其他浏览器中,它们称为event.clientX
和event.clientY
。将属性更改为此修复我的问题。
答案 1 :(得分:0)
设置单位
.css("left", (event.x - 65) + "px");
用top
做同样的事情