我正在尝试使用 jquery 为本示例中的搜索字段设置动画,使其移动到包含 div oninput 的顶部。我最初是使用 scriptaculous effect.move 来做到这一点,但我不能让事件只触发一次,所以如果有人在第一次击键后继续输入,效果会停止并从动画中的当前位置重新开始额外的击键,这是愚蠢的。我是使用 jquery 的新手,所以请放轻松,如果我不是很有意义。
编辑: ocanal 发布的示例肯定有效,但由于某种原因,当我应用它时它对我不起作用 - 这是我目前所拥有的 - 还试图在同一事件中淡化 div
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<title>Untitled</title>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$('#search').keypress(function() {
$(this).animate({
top: '0',
});
$('#icon).fadeOut('slow', function() {
});
});
</script>
<style type="text/css" media="screen">
body {
margin: 0px;
padding: 0px;
}
#container {
position: relative;
border: #000 1px solid;
margin: 0px auto;
width: 960px;
height: 800px;
}
input {
outline: none;
}
#icon {
position: absolute;
top: 80px;
left: 370px;
width: 200px;
}
#search {
position: absolute;
top: 300px;
left: 230px;
width: 500px;
}
</style>
</head>
<body>
<div id="container">
<img id="icon" src="icon.png" alt="icon">
<input id="search" type="text" autofocus="autofocus">
</div>
</body>
</html>