请查看附件图片。
如你所见,我正在展示一个弹出窗口。基本上我想根据可用空间(左或右)更改弹出窗口的位置。现在它超出了图像范围。
它是一个奇特的盒子(iframe)
使用此代码显示弹出窗口。
// Position and show the message.
this.message
.css({
left: (tPosition.left + "px"),
top: ((tPosition.top + t.outerHeight()) + "px")
})
.show();
答案 0 :(得分:1)
我会做这样的事情:
this.message
.css({
left : function () {
if ( tPosition.left + $(this).width() >= $(this).parent().width() ) {
return $(this).parent().width() - $(this).width();
}
else {
return tposition.left;
}
},
top : function () {
if ( tPosition.top + $(this).height() > $(this).parent().height() ) {
return $(this).parent().height() - $(this).height();
}
else {
return tposition.top;
}
}
});
基本上,您需要检查弹出窗口是否会超出您的包含框边界,然后再显示它并进行适当调整。在横轴上,这就像确保鼠标位置x +弹出窗口的宽度不大于父容器的宽度一样简单。在垂直轴上,您要确保鼠标位置y +弹出高度不大于父容器高度。