jQuery slideUp работает как положено, slideDown не работает
Этот код оборачивает флажок, метку и br в div, чтобы он мог анимировать удаление div после завершения анимации... или то, что он должен делать.
jQuery slideUp работает как положено, но slideDown не занимает 400 мс. Вместо этого он переходит в 0 мс. Может кто-нибудь объяснить, почему?
Вот скрипка
function showHide(elements, num, action){
jQuery.map(elements, function(itm){
var element = jQuery('input[type=checkbox][value=\"'+itm+'\"]');
var toWrap = element.add(element.nextAll().slice(0, num));
toWrap.wrapAll('<div />');
switch (action) {
case 'show':
element.parent().show(0, function(){
element.unwrap('div');
});
break;
case 'hide':
element.parent().hide(0, function(){
element.unwrap('div');
});
break;
case 'slideDown':
element.parent().slideDown(400, function(){
element.unwrap('div');
});
break;
case 'slideUp':
element.parent().slideUp(400, function(){
element.unwrap('div');
});
break;
default:
} // switch
}
)}
var elems = ["option 1", "option 2", "option 3", "option 4", "option 5"];
showHide(elems, 2, "slideUp");
setTimeout(function(){
showHide(elems, 2, "slideDown");
}, 500);