始终直接在文本框下保留建议框

时间:2013-04-16 12:56:08

标签: javascript jquery html css

我有一个带有建议框的文本输入,当输入内容时,该建议框会显示在输入下方。问题是当页面被缩放时,有时框会出现在稍微不同的位置(1-3个像素)。有没有办法保证,无论页面比例是多少,建议框总是保持正好0px左边和0px相对于输入字段的底线?感谢。

tBox = $('#textBox')[0];

$('#suggestionBox').css({
    width: "151px",
    border: "1px solid grey",
    position: "absolute",
    top: (tBox.offsetTop + tBox.offsetHeight) + "px",
    left: tBox.offsetLeft + "px"
});

<input type="text" id="textBox" />
<div id="suggestionBox" style="display:none;">suggesion</div>  

2 个答案:

答案 0 :(得分:3)

您是否尝试过使用此http://docs.jquery.com/UI/API/1.8/Position

http://jsfiddle.net/ZpFm9/1/

$("#suggestionBox").position({
    my: "left top",
    at: "left bottom",
    of: $('#textBox')
});

答案 1 :(得分:0)

请参阅简单示例:http://jsfiddle.net/JQeTT/

$('#suggestionBox').css({
   width: "151px",
   border: "1px solid grey",
   position: "absolute",
   top: ($('#textBox').offsetTop + $('#textBox').offsetHeight) + "px",
   left: $('#textBox').offsetLeft + "px"
});

$('#textBox').focus(function(){

   $("#suggestionBox").show();
}).blur(function(){ //if lost the focus, the suggestion box hide again
   $("#suggestionBox").hide();
});