我有一个sticked
元素,它top
从当前的-offset 中获得-alignment scroll
。问题是,如果布局中的空间是空闲的,则布局不会“重新触发” 。所以在粘贴元素的地方留下了一个幽灵-gap......
http://fiddle.jshell.net/pPc4V/
标记非常简单:
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#" class="sticked"></a>
<a href="#"></a>
...
以及js:
var $win = $(this);
var sticked = document.querySelector('a.sticked');
$win.on('scroll', function () {
var scrollTop = $win.scrollTop();
sticked.style.top = scrollTop + 'px';
// $win.resize();
});
...到目前为止,css 看起来不错:
a {
display: inline-block;
width: 90px;
height: 90px;
background: deepskyblue;
}
.sticked {
position: relative;
top: 0;
left: 0;
background: tomato;
}
我试图resize
在滚动时触发 -event(如您在上面看到的未注释),但没有成功!任何想法,如何重新触发布局,以便用下一个浮动元素填充自由间隙?
更新
为了澄清我的意思,我制作了一个简单的图像时间线:
步骤1
第2步
第 3 步