У меня есть элемент sticked
, который получает top
-определение от текущего scroll
-offset. Проблема в том, что макет не «retriggerd» если пространство от него бесплатное. Так что остается призрак зонных где наклеить элемент был ...Как вызвать макет для изменения?
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>
...
, а также ЯШ:
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 на прокрутке (как вы видите выше, без ранения), но без успеха! Любые идеи, как перезапустить макет, чтобы свободный пробел был заполнен следующим плавающим элементом?
Update
Чтобы пояснить, что я имею в виду, я сделал простой образ-timelime:
Шаг 1
Шаг 2
Шаг 3
Mhh, Неа, я не использую 'позиции : фи xed' вместо 'relative', поскольку я стараюсь, чтобы остальные элементы плавали, если узел * sticked * изменил свою позицию. Например, если вы измените размер окна, элементы заполнит свободное пространство ... – yckart
Я обновил свой вопрос, чтобы уточнить, что я имею в виду. – yckart