JQuery анимация не работает в тронутом событии

В следующем коде $('#slidemenu-container').animate(...) не работает:

$(document).live('touchend', function(event, data) {
    var container = $("#slidemenu-container");
    var container2 = $("#bg-yellow-id");

    if (container.has(event.target).length === 0 && container2.has(event.target).length === 0 && settings.katMenuVisible) {

        // workaround because showHide(...) with animate isnt working
        var left = '-=' + settings.listSlideWidth + 'px';
        $("#show-hide-kat").css({
            'background-image': "url('" + yiiBaseUrl + "/images/NAVbutton_opennav.png')"
        });

        $('#slidemenu-container').animate({
            left: left,
        }, settings.duration, function() {

        });

        settings.katMenuVisible = !settings.katMenuVisible;

    }
});

Это работает, если я изменяю левое свойство с .css() функция:

$(document).live('touchend', function(event, data) {
    var container = $("#slidemenu-container");
    var container2 = $("#bg-yellow-id");

    if (container.has(event.target).length === 0 && container2.has(event.target).length === 0 && settings.katMenuVisible) {

        // workaround because showHide(...) with animate isnt working
        var left = '-=' + settings.listSlideWidth + 'px';
        $("#show-hide-kat").css({
            'background-image': "url('" + yiiBaseUrl + "/images/NAVbutton_opennav.png')"
        });

        container.css({
            'left': left
        });

        settings.katMenuVisible = !settings.katMenuVisible;

    }
});

В чем проблема? Я перепробовал все, но анимация все еще не работает.

Спасибо за помощь.

1 ответ

Возможно, попробуйте что-нибудь попроще, например: .animate({"left": "+=50px"}, "slow");

Кстати, я не уверен, что вы все равно пытаетесь сделать, пытаетесь заставить его переключиться влево и оживить? Заставить его появиться?

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