我试图在没有动画的情况下切换元素的可见性,但是使用完整的函数以便我更改启动切换的链接文本。
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;
});
不幸的是,这仍然在触发动画。没有任何参数,切换不会生成动画,但即使通过简单地传递函数或完整函数(如上所述),我仍然可以获得动画。
有什么建议吗?
答案 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