尝试.slideUp()
,用.html('')
清除元素,然后重新填充元素和.slideDown()
。简单?是。工作吗没有。
在完全向上滑动之前,将重新填充该元素。本质上,您会在窗帘就位之前看到魔术师的离开,这会破坏表演。
jsFiddle:http://jsfiddle.net/Zt6gw/
jQuery的
$('#oh_sort').change(function(){
$('#oh_list_cont').slideUp(1000);
$('#oh_list_cont').promise().done(ohReset());
$('#oh_list_cont').slideDown(1000);
});
function getOpenhouse(){
var data = $('#oh_sort').val();
if(data == 'date'){
$('#oh_list_cont').append('WOOOOOOORK!');
}
if(data == 'price'){
$('#oh_list_cont').append('Please?!');
}
if(data == 'city'){
$('#oh_list_cont').append('OMGWTFBBQ');
}
}
function ohReset() {
$('#oh_list_cont').html('');
getOpenhouse();
}
我已经使用.slideUp()内置的[complete](回调?)功能进行了尝试,但是随后没有任何填充,并且第二个幻灯片动画也不会触发。
最佳答案
在这里,您要立即调用ohReset()
而不是将其作为回调传递:
$('#oh_list_cont').promise().done(ohReset());
它应该是:
$('#oh_list_cont').promise().done(ohReset);