0

在以下代码中$('#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;

    }
});

如果我使用以下函数修改 left 属性,它会.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;

    }
});

有什么问题?我尝试了一切,但动画仍然无法正常工作。

4

1 回答 1

1

也许尝试更简单的方法,例如: .animate({"left": "+=50px"}, "slow");

顺便说一句,我不确定你想做什么,你试图让它切换到左边并动画?让它出现?

于 2012-11-22T19:49:37.187 回答