当有人在输入字段中按 Enter 时,我试图让 div 滑动到屏幕顶部。我遇到的问题是,不是 div 从屏幕顶部移动 50px,而是从它所在的 div 顶部移动 50px。
这是真正的代码:
的HTML
<div class="home-nav">
<div style="display: none;position: absolute;margin-top: -1px" id="search-box">
<form action="/" method="get"><input type="text" name="q" class="q" /></form>
</div>
</div>
JavaScript
$(".q").keydown(function(e){
if(e.keyCode == 13){
var val = $(this).val();
window.location = "#q="+val;
$(".space").animate({
width: "100px"
}, "slow");
$("#search-box").animate({
top: "50px"
}, "slow");
return false;
}
});
CSS
div.home-nav{
line-height: 4em;
position: absolute;
top: 0;
bottom: 0;
left: 300px;
height: 300px;
margin: auto;
}
我将内部 div 定位为绝对值的原因是,当您单击链接时,div/input 将覆盖链接以产生一点效果。