anmast,
:blink: |
рони,
при заужении браузера блок не останавливается и лезет до бесконечности. как в этом случае поступить? |
sergiocharm,
:) ещё вариант $(function() { var elem = $("#fixed"), h = elem.offset().top ; $(window).scroll(function(){ var top = $(this).scrollTop(); elem.css( {'top': top> h ? 20 : '', 'position': top > h ? 'fixed' : ''})}) }); |
Спасибо! Поступил проще, убрал при маленьком разрешении
|
Вот пример, как сделать плавающий блок ;)
|
Цитата:
:-? |
Jeff,
и не очень хорошая реализация. Если после загрузки страницы изменится смещение до "плавающего" блока (подгрузится что-то выше него, отобразится картинка, изменится ориентация экрана...) блок будет фиксироваться в неправильном положении скролла. |
Цитата:
|
sergiocharm,
попробуйте так $(function() { var offset = $("#fixed").offset(); var topPadding = 20, bottomPadding = 210; $(window).scroll(function() { var max = $(document).height() - ($(window).height() - bottomPadding), scroll = $(window).scrollTop(); if (scroll > offset.top && scroll < max) { if ($(document).height() - bottomPadding > scroll + $("#fixed").height()) $("#fixed").stop().animate({ marginTop: scroll - offset.top + topPadding }) } else $("#fixed").stop().animate({ marginTop: 0 }) }) }); |
|
Часовой пояс GMT +3, время: 22:53. |