【发布时间】:2010-06-04 02:24:21
【问题描述】:
问题的简短版本:见标题
问题的长版: 我在我的代码中广泛使用了 jquery 的 show() 和 hide() 函数,只是遇到了一点问题:它们通过将元素的显示属性分别更改为“块”或“无”来工作,所以如果你有一些有显示的东西:内联然后隐藏并显示它,你已经将它的显示更改为块,这在一些情况下会搞砸布局。
在我的代码中,每当我最初想要隐藏某些东西时,我都会给它一个“隐藏”类。这个类只是 {display: none}。我希望更改显示和隐藏以删除或添加此类,而不是直接更改显示属性,这样如果您添加隐藏类然后再次将其删除(即隐藏和显示某些内容),那么它又回到了原来的样子它是从开始的(因为添加一个类会覆盖属性而不是直接更改它们)。像这样的东西(这有点伪代码,因为我不知道如何正确设置函数 - 让我们假设“this”是调用显示/隐藏的对象)
function show(){
this.removeClass("hidden");
}
function hide(){
this.addClass("hidden");
}
我将如何以及在哪里重写 jquery 方法? (我不是 javascript 专家)
谢谢 - 最大
【问题讨论】:
-
在
.hide()上,jQuery 存储以前的显示值,.show()恢复它,它不只是使它成为block...如果是这样的话,你还有其他事情要做。 -
哦,真的吗?它是如何存储的?谢谢,我会调查的。
标签: jquery