更好的解决方案是在回调中使用第二个参数.来自jQueryUi文档:
第二个提供关于两个元素的位置和尺寸的反馈,以及对它们的相对位置的计算.target和element都具有以下属性:element,left,top,width,height.此外,有水平,垂直和重要,给你十二个潜在的方向,如{水平:"中心",垂直:"左",重要:"水平"}.
如上所述,第二个参数中有一个水平和一个垂直属性,您可以使用它来查明元素是否被翻转.所以你可以这样写:
$("#someId").dialog({
position: {
my: 'left top',
at: 'right top',
collision: 'flip flip',
of: $('#' + someElementID),
using: function (obj,info) {
if (info.vertical != "top") {
$(this).addClass("flipped");
} else {
$(this).removeClass("flipped");
}
if (info.horizontal != "left") {
$(this).addClass("flipped");
} else {
$(this).removeClass("flipped");
}
$(this).css({
left: obj.left + 'px',
top: obj.top + 'px'
});
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |