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

jQuery toggle()没有动画但功能完整?,jquery,Jquery,我尝试在没有动画的情况下切换元素的可见性,但是使用了一个完整的函数,以便我更改启动切换的链接的文本 jQuery('.toggle_tags').click(function(){ var elem = jQuery(this); jQuery('#taglist').toggle({complete: function() { if (jQuery(this).is(':visible')) { elem.text('(Hide Tags

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

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;
});
不幸的是,这仍然会触发动画。如果没有任何参数,toggle不会设置动画,但即使只是详细地传递一个函数或完整的函数(如上所述),我仍然可以获得动画


有什么建议吗?

不要使用
完成功能

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

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

尝试将
持续时间:0
添加到选项对象。更多信息

我不确定重点是什么。
指向切换参数内部的内容,为什么不能在切换之外引用它呢?问题是
toggle
的默认
duration
参数是
400
@Juhana我的理解是它是异步的,不使用完整的函数可能意味着
是可见的
测试不可靠。谢谢,我不知道它是同步的,没有参数。为什么要提供一个完整的回调呢?@deed02392适用于有动画的情况。我考虑过这一点,但对于jQuery来说似乎不够优雅。;-)根据文档,这基本上就是设置
jQuery.fx.off=true
所做的,所以在我看来,这非常适合jQuery。