jQuery toggle()没有动画但完整的功能?

时间:2013-04-12 14:27:13

标签: jquery

我试图在没有动画的情况下切换元素的可见性,但是使用完整的函数以便我更改启动切换的链接文本。

jQuery('.toggle_tags').click(function(){
    var elem = jQuery(this);
    jQuery('#taglist').toggle({complete: function() {
        if (jQuery(this).is(':visible')) {
            elem.text('(Hide Tags)');
        } else {
            elem.text('(View Tags)');
        }
    },});
    return false;
});

不幸的是,这仍然在触发动画。没有任何参数,切换不会生成动画,但即使通过简单地传递函数或完整函数(如上所述),我仍然可以获得动画。

有什么建议吗?

2 个答案:

答案 0 :(得分:10)

请勿使用complete功能。

如果没有参数,.toggle()将同步运行,这意味着您可以只测试它在下一个语句中所执行的操作,知道它已经完成,您可以使用:

jQuery('#taglist').toggle();
if (jQuery('#taglist').is(':visible')) {
    elem.text('(Hide Tags)');
} else {
    elem.text('(View Tags)');
}

答案 1 :(得分:2)

尝试将duration: 0添加到选项对象中。更多信息in the docs