Остановить скользящий блок в определенном месте

pan
На сайте с 24.10.2004
Offline
164
pan
2403

Всем хорошего здравия :)

Вот пример скользящего блока (http://mainview.ru/demo-files/jquery-sticky-box/)

Подскажите незнающему, а как остановить скольжение в определенном месте, ну скажем на середине текста?

Заранее благодарен.

Мебельные фабрики Екатеринбурга (http://www.mebel66.ru/catalog/producers/) Дачный ГС жены (http://www.nafazendu.ru) Нет темы для бизнеса ? - да эта тема под ногами (http://www.uralstroyportal.ru/modules/forum/t1674.html)
IL
На сайте с 20.04.2007
Offline
435
#1


<script type="text/javascript">

$(document).ready(function(){
var obj = $('#sticky');
var offset = obj.offset();
var topOffset = offset.top;
var leftOffset = offset.left;
var marginTop = obj.css("marginTop");
var marginLeft = obj.css("marginLeft");

$(window).scroll(function() {
var scrollTop = $(window).scrollTop();
var maxScroll = $('#container').height()/2; // половина высоты блока #container
//var maxScroll = 500; // фиксированная высота

if (scrollTop >= topOffset){
obj.css({
marginTop: 0,
marginLeft: leftOffset,
position: 'fixed',
});
}

if (scrollTop < topOffset){//&& scrollTop<$(body).height()/2

obj.css({
marginTop: marginTop,
marginLeft: marginLeft,
position: 'relative',
});
}

if(scrollTop>maxScroll) {
obj.css({
marginTop: maxScroll,
marginLeft: marginLeft,
position: 'relative',
});
}

});
});

</script>
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
pan
На сайте с 24.10.2004
Offline
164
pan
#2
//var maxScroll = 500; // фиксированная высота

Это высота сверху?

IL
На сайте с 20.04.2007
Offline
435
#3

Да, если прокручено больше этого значения - блок дальше плыть не будет. Строчка закомментирована.. Альтернативный вариант ограничения - по соседству (половина высоты указанного блока). Работает аналогично.

Возможно (для точного "центрования" при маленьких высотах большого блока) потребуется учесть высоту самого блока (отнять половину высоты плавающего блока, чтобы центр плавающего блока совпадал с центром "большого" блока.)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий