为什么要在show()之前调用hide()?在我用方法链进行优化之前,我想知道这一点。
function ShowSomething() {
jQuery("something").hide();
jQuery("something").show();
}
答案 0 :(得分:4)
调用hide()
时,会在调用display
时存储该元素的show()
的初始值,将该初始值放回原位。如果未设置初始值,则show()
将设置display:block
。
因此,如果一个元素最初是display:inline
,但是(假设).css("display","none")
在该元素上被调用,它将被隐藏而不保存初始属性。当我们再次show()
此元素时,它将被赋予display:block
- 而不是inline
的初始值,如果我们使用hide()
,它就是给出的。
总结一下:hide()
将保留原始display
值,以便show()
使用
来源:jQuery hide()文档
答案 1 :(得分:3)
答案 2 :(得分:0)
.hide
将
.hide()会立即触发,并会覆盖动画队列 没有指定持续时间或持续时间为0.
因此,如果动画已经在队列中,它将被删除,然后插入.show()
。对于从不存在到存在的某些动画,它也可以(视觉上)有用。你可以将它们连在一起,它没有任何区别。
答案 3 :(得分:0)
当您有一系列需要一次显示一个元素的元素时,通常会出现这种情况。首先,您使用某个类隐藏所有元素,然后显示所需的元素。