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);

0 ответов

Другие вопросы по тегам