我正在编写一种布局算法,可以在容器内调整图像列表的大小和位置,类似于Flickr的对齐布局。
在完成一些测量并调整列表项的大小后,我绝对使用left
和top
定位每个项目。计算基于容器的宽度。如果页面上的项目数量超过了页面,则会触发滚动。在某些浏览器中,这意味着窗口,因此容器的宽度减小,以便为滚动条腾出空间。这意味着我的布局计算现在不正确,列表项与滚动条的宽度重叠滚动条。
如果窗口宽度发生变化,我已经在监听窗口的resize事件并重新布局列表,但是当滚动条出现时没有事件我无法触发新的布局。似乎我唯一的选择是对此案进行民意调查。
我还可以使用其他方法吗?