Фиксированный блок с прокруткой
|
|
[1] Bodia [28.01.2014, 19:44] |
Здравствуйте, я поставил на сайт блок (отступ 100пх от верха), который при прокрутке вниз, должен прокручиваться вместе со страницей.
Код .floating { width: 200px; } .fixed { position: fixed; top: 10px; }
Код <script type="text/javascript"> $(function(){ $(window).scroll(function() { var top = $(document).scrollTop(); if (top > 98) $('.floating').addClass('fixed'); else $('.floating').removeClass('fixed'); }); });
</script>
Проблема только в том, что когда прокручиваешь страницу до самого низа, блок должен упираться в футер (200px высотой), а он на него налазит. Не знаю как это исправить. Заранее спасибо за помощь) |
|
[2] likbezz [28.01.2014, 20:07] |
Bodia, Проблема только в том, что когда прокручиваешь страницу до самого низа, блок должен упираться в футер (200px высотой), а он на него налазит А с чего вы взяли что он должен? Совсем не должен..
Не знаю как это исправить Изменить скрипт. Узнать высоту документа, вычесть из нее высоту футера и сравнивать высоту скролла с этой этой величиной. Если она больше - делать смещение вверх на разницу высот. |
|
[3] Bodia [28.01.2014, 20:25] |
Спасибо за быстрый ответ)
Я не так выразился, он то не должен не налазить, просто как я не пытался исправить, у меня не получалось.
Извините, но я совсем не понимаю, как это сделать. Высота страницы же резиновая, а высота футера статичная - 200px. А потом это куда добавлять, в css?
Я еще пытался как-то скрипт дополнить, Код var bottom = $(document).scrollTop(); if (bottom > 200) $('.floating').addClass('fixed2');
В fixed2 делал отступ снизу, но ничего не получилось)
Сообщение отредактировал Bodia - Вторник, 28.01.2014, 20:26 |
|
[4] likbezz [28.01.2014, 20:40] |
Bodia, А потом это куда добавлять, в css? Я же написал - изменить скрипт.
высота страницы же резиновая, а высота футера статичная - 200px. Вот по этому сначала и нужно узнать высоту всей страницы - $(document).height(); Вычесть из нее высоту футера (повторяюсь уже) и сравнивать с высотой скролла. Типа: Код if($(document).height()-200<top){ /* делаем смещение на разницу .. или что-то другое */ } |
|
[5] Bodia [28.01.2014, 20:48] |
мне очень неудобно вас так часто беспокоить, но я в скриптах новичок. Проблема в том, что страница с товарами, а товаров неограниченное количество, и они постоянно добавляются. Или же вы имеете ввиду $(document).height(); -как переменное значение? Если высота футера 200px, то как скрипт сделать?
Можете помочь? Может платно поможете скрипт доделать? |
|
[6] likbezz [28.01.2014, 20:56] |
Bodia, Или же вы имеете ввиду $(document).height(); -как переменное значение? $(document).height() - это функция - отдает текущую высоту страницы.
Можете помочь? Может платно поможете скрипт доделать? Ссылку на страницу где установлен данный скрипт. Посмотрю позже. |
|