我想創建一個基於從用戶的搜索查詢返回的內容的增長和收縮(上下滑動)div元素。展開和收縮DIV基於AJAX的更新內容
我使用jQuery的動畫財產,在大多數情況下,它的功能。當用戶執行第一個查詢時,我真的很喜歡動畫執行slideDown影響,同時淡化內容。如果執行額外的搜索查詢,div將根據從服務器返回的內容而增長(或縮小)。
眼下,在不需要的第一個搜索結果從左向右滑動般的效果。後續查詢正確地展開div。
爲了說明這個問題,請參閱的jsfiddle:http://jsfiddle.net/krpXk/
HTML:
<input type="text" id="search-term" />
<input type="button" id="submit-button" value="submit" />
<div id="limit">
<div id="results"></div>
</div>
的Javascript:
$('#submit-button').click(function(e) {
// ajax request
$.ajax({
async: true,
cache: false,
type: 'post',
url: '/echo/html/',
data: {
html: '<p class="p-content">Search term: ' + $('#search-term').val() + '</p>'
},
dataType: 'html',
success: function(data) {
$('#results').append(data).show(function(){
$('#limit').animate({
height:$("#results").height()
},500);
});
}
});
});
CSS:
#results {
background:#dfdfdf;
display:none;
width:300px;
}
#limit {
position: relative;
overflow: hidden;
width:100%;
}
.p-content {
margin:0 auto;
width:100px;
}
更新:
我發現,答案是非常簡單的。只要將#limit高度設置爲0,就會強制下滑動畫。
從答案: 「請注意,爲了強制執行初始動畫,我在CSS中給了#limit容器顯式高度0px。」