日期:2014-05-16  浏览次数:20396 次

JQueryUI Dialog定位的问题请教!
请教一下,我有一个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)]);