当我向下滑动的对象的内容浮动时,我遇到了 jQuery slideDown 的问题。
发生的情况是 div 向下滑动超过内容的高度,然后“捕捉”到适当的高度。
我认为(仅仅是一个理论)div 是根据高度向下滑动的,如果里面的内容没有浮动的话。例如,如果我有 4 个浮动项目,则 div 的扩展距离似乎比我有 2 个浮动项目时的两倍。
使用 clearfix hacks 包含任何浮点数似乎都无法解决任何问题。
我过去使用的解决方案(也是推荐的解决方案)是在隐藏项目之前通过 CSS 设置项目的高度。这样,slidedown 就知道要走多远了。
问题是我正在嵌套使用向下滑动的面板。我不能事先设置父级的高度,因为它是根据已经展开的嵌套隐藏面板计算的。
我可以递归调用该函数来设置我的所有切换面板......找到最里面的嵌套面板,设置高度,折叠我默认隐藏的那些,然后向上移动层次结构。但这将是一个性能打击,不得不遍历这么多。
任何人都知道一种方法来修复浮动内容的此幻灯片,而无需事先通过 CSS 固定高度,而无需先手动遍历 dom 设置高度?
更新:
示例代码在这里:
(点击页面看它滑动)
这是基于我正在使用的确切样式,并且在该特定组合中,您会看到问题。请注意,设置为 slideDown 的 DIV 具有粉红色背景。它会向下滑动到比其内容更远的位置,然后快速弹回正确的位置。