请教一下,我有一个JQueryUI Dialog,显示的时候要放在一个<Input type="text">的下面,请教大家一下,怎么定位,我定位了都会偏了一点。
$("#TimeSelect").dialog({
autoOpen: false,
width:250,
height:200,
buttons: {
"确定": function() {
$( this ).dialog( "close" );
$("#txTime").val($("#spanHour").text() + ":" + $("#spanMin").text())
},
"取消": function() {
$( this ).dialog( "close" );
}
}
});
$("#txTime").click(function(){
$("#TimeSelect").dialog("option","position",[$("#txTime").offset().left,$("#txTime").offset().top+$("#txTime").height()+5]);
$("#TimeSelect").dialog( "open" );
//alert($("this").outerHeight + "px");
});
<input type="text" name="txTime" id="txTime" />
初始定位OK,如果有滚动条的时候位置就会出错,请问有什么办法可以定位好。
------解决方案--------------------
这个方法有问题吧,不按照设置的值定位,会加上页面的滚动高度,你需要减去页面的滚动高度就行了
$("#TimeSelect").dialog("option", "position", [$("#txTime").offset().left, $("#txTime").offset().top + $("#txTime").height() + 5-Math.max(document.documentElement.scrollTop,document.body.scrollTop)]);