0

我正在寻找一些东西,但我不知道它叫什么,也不知道在哪里可以找到 necceracry 信息。

http://ricklancee.com/jquery-layout

^ 所以我现在得到的是一个带有 100% 宽度(当前浏览器宽度)的包装器的网站,在其中我放置了一些固定为 (240px) 和浮动:左的元素;当我把窗户变小时,他们会把自己放在彼此的下方。

当他们漂浮在彼此下方 - 并返回 - 时,我希望他们做的是动画到那个位置。

http://masonry.desandro.com/显示了一个示例,当您调整窗口大小时,元素将浮动/动画到新位置。

谁能告诉我这是怎么做的,这种技术叫什么或者我在哪里可以找到这是怎么做的?

我不使用哪个插件,只是出于教育目的自己编写脚本。

非常感谢你,

4

1 回答 1

0

使用浮动浏览器可以处理这类事情。

如果你想自己做,它会变得复杂。

您将需要绝对定位 div。position: absolute;- 并确保父 div 有position: relative;然后添加一个监听器来监听 resize 事件,并在调用 resize 事件时计算 div 的新位置。

见:http ://api.jquery.com/resize/

实际上,将他们动画化到他们的新家很容易 - 只是$(....).animate({top: xx, left: xx})。困难的部分将是计算他们应该去哪里。

不过当然可行。

当您绑定 resize 事件时使用.one(),因此您只会被调用一次。然后,当您被调用时,添加 asetTimeout()以将实际计算延迟 1/2 秒。然后计算位置并为其设置动画。

只有当动画完成后,再次绑定事件。您不想在此之前绑定,否则您将同时运行多个动画。(确保只绑定其中一个动画,而不是所有动画,因为您将拥有多个动画 div。)

于 2012-07-11T09:22:10.453 回答