我想要做一个组合类似的东西,我需要在输入上方对齐div。javascript:将绝对div对齐到另一个div上
我该如何计算正确的bottom css property
的列表才能在输入上方显示?
示例代码:
HTML
<div style="position:absolute;top:150px; left:150px;">
<input/><span class="btn">V</span>
</div>
<div class="list" style="display:none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</div>
CSS
.btn {
width: 10px;
height:10px;
background-color: black;
cursor: pointer;
}
.list {
position: absolute;
border: solid 1px black;
}
JS
$('.btn').click(function(){
var list = $('.list');
list.show();
var inputOffset = $('input').offset();
list.css({
bottom: inputOffset.top,
left: inputOffset.left
});
});
注: 的投入将工作就像一个过滤器,这样列表的高度将发生变化。 我想让浏览器保持列表对齐。这就是为什么我想在列表中设置正确的bottom
值。
如何纠正任何错误?请阅读您自己的问题并更正。 – spender 2014-09-26 13:55:25
所以你试图让列表直接出现在输入和按钮之上? – sma 2014-09-26 13:57:25