我有 div 和class="myDiv"
. 我需要做这个逻辑:鼠标悬停时,我想在 div 中间显示一个弹出窗口。
为此,我有以下内容:
$(".myDiv").mouseover(function () {
positionDiv($(this).position().left + $(this).width() / 2, $(this).position().top + $(this).height() / 2);
});
function positionDiv(xPosition ,yPosition ) {
$("#popupWindow").css("left", xPosition + "px");
$("#popupWindow").css("top", yPosition + "px");
$("#popupWindow").show();
}
CSS:
.popupWindow{
position:absolute;
width:313px;
height:383px;
display:none;
}
这将在鼠标悬停时将弹出窗口定位在 div 的中间。在这一点上一切都很好。
但是,如果网站被放大(使用浏览器缩放功能),位置就会变得混乱。弹出窗口不再出现在myDiv
.
知道可能是什么问题吗?
编辑:
有关更多信息,如果它被创建并且我放大它,那很好。但是当我将鼠标移到另一个时myDiv
,新的弹出窗口出现在一个奇怪的位置。Div 的 left 和 top 属性搞砸了。