2012-02-10 142 views
0

我真的需要帮助,我看不到明显的东西,通常情况下最好是寻求帮助。 我有12个网格中的4个div。每个div都是可点击的,点击时应该在其下面显示相应的div,最初设置为显示:无。jQuery slideToggle奇怪的行为

一切都很好,只要我点击他们从头到尾,但如果我第一次点击,让我们说第三个div,它显示其相应的div,但不是在它下面,它显示它的地方第一个相应的div。

我在这里使用简单的slideToggle,真的不明白什么是错的。如果我把相应的div(隐藏的)显示,它们都显示正确,所以它不是CSS错误。

我可以提供的代码,但我把它放在线上,只需点击方法选项卡,你会明白我的意思。

Here is the link

很抱歉,如果我没有更好的解释,英语不是我的母语language.Thanks!

回答

3

您需要保留这些div的空间。使用visibility:hiddenanimation,但不要使用display:none,它不会为隐藏元素保留空间。所有内置效果功能,如hide(),slideToggle()等都会将display:none设置为您的元素。

+0

谢谢,我还保持动画作为我的最后手段,但我仍然无法理解一个div的内容如何能够出现在完全不同的位置。 – suludi 2012-02-10 17:55:48

+1

您没有指定这些元素的任何位置。他们只是浮动...如果你删除一个其他填充浮动到它的位置。这就是发生了什么:) – Samich 2012-02-10 19:17:19

+0

感谢您的洞察力。 – suludi 2012-02-10 22:57:42