Jquery 为什么要在show()之前调用hide()?
为什么要在show()之前调用hide()?在我使用方法链接优化之前,我想知道这一点Jquery 为什么要在show()之前调用hide()?,jquery,Jquery,为什么要在show()之前调用hide()?在我使用方法链接优化之前,我想知道这一点 function ShowSomething() { jQuery("something").hide(); jQuery("something").show(); } 如果是链接的,则输出没有区别,而jQuery将在非链接版本上实际执行两次DOM查找 就性能而言,非链接实际上要慢24%,如下所示: 查看我的。隐藏将 .hide()将立即触发,并在以下情况下覆盖动画队列: 未指定持续时间或持续时间为
function ShowSomething() {
jQuery("something").hide();
jQuery("something").show();
}
如果是链接的,则输出没有区别,而jQuery将在非链接版本上实际执行两次DOM查找 就性能而言,非链接实际上要慢24%,如下所示:
查看我的
。隐藏
将
.hide()将立即触发,并在以下情况下覆盖动画队列:
未指定持续时间或持续时间为0
因此,如果动画已经在队列中,它将被删除,然后使用
.show()
插入。对于从一个不存在到另一个存在的某些动画,它也很有用(视觉上)。您可以将它们链接在一起,这不会有任何区别。当您有一系列元素需要一次显示一个时,通常会出现这种情况。首先,使用某个类隐藏所有元素,然后显示所需的元素。当调用hide()
时,存储该元素的显示的初始值,以便在调用show()
时将初始值放回原位。如果未设置初始值,则show()
将设置display:block
因此,如果一个元素最初是display:inline
,但是(比方说)对该元素调用了.css(“display”,“none”)
,那么它将被隐藏,不保存初始属性。当我们再次show()
这个元素时,它将被赋予display:block
——而不是inline
的初始值,如果我们使用hide()
,它将被赋予
总而言之:hide()
将保留原始的display
值,以便show()
使用
来源:jQuery文档我会调用hide before fadeIn(),因为只能显示隐藏的元素。这是从哪里来的?经验还是文件?我很好奇。