4

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

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

不幸的是,这仍然会触发动画。如果没有任何参数,切换不会动画,但即使只是通过一个函数或完整的函数详细地传递(如上),我仍然可以获得动画。

有什么建议吗?

4

2 回答 2

10

不要使用complete函数。

没有参数,.toggle()将同步操作,这意味着您可以在下一条语句中测试它所做的事情,知道它已经完成了,您可以使用:

jQuery('#taglist').toggle();
if (jQuery('#taglist').is(':visible')) {
    elem.text('(Hide Tags)');
} else {
    elem.text('(View Tags)');
}
于 2013-04-12T14:30:30.320 回答
2

尝试添加duration: 0到选项对象。文档中的更多信息

于 2013-04-12T14:30:34.550 回答