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。