【问题标题】:jQuery animate not working in touched eventjQuery动画在触摸事件中不起作用
【发布时间】:2012-11-22 19:45:08
【问题描述】:

在以下代码中,$('#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() 函数修改 left 属性,它会起作用:

$(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;

    }
});

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

【问题讨论】:

    标签: jquery jquery-animate jquery-events touch-event


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多