如何在调整容器大小时顺利重新定位子元素?

时间:2011-11-24 00:08:43

标签: jquery jquery-ui

假设我有一个带有多个子div的容器div。

子div向左浮动,因此它们形成许多水平线。 当我逐步调整包含div的宽度(例如$container.stop().animate())时,当容器的宽度达到时,子div 突然移动到下一行某些阈值

是否有任何技术/插件可以使子元素的重新排序更顺畅?

1 个答案:

答案 0 :(得分:1)

我不能说我知道某个插件可以帮助你,但是如果存在一个插件,它可能会做以下操作,将每个孩子设置为最终位置以及容器动画:

  1. 使用css()将容器的大小调整为目标宽度。
  2. 请注意每个容器的position()。{/ li>的children()
  3. 使用css()将容器的大小调整回原来的宽度。
  4. 绝对定位每个children()topleft等于原始position()的{​​{1}}。他们不应该在这一步中移动,所以测试你的功能到这里来确保这一点。
  5. 使用animate()为容器的宽度设置动画,同时使用animate()topleft设置为我们在步骤2中获得的值的动画。
  6. animate()完整回调中,将子项的位置更改回原始值。
  7. ???
  8. 利润