![]() |
0 Всего найдено: 17
liderdenis
Сообщение
10/08/2011 18:17
Копия темы
на Jquery наверно кто может такую задачку решал. Есть фиксированный блок который при открытии страницы находиться в самом низу т.е. bottom:0 Как только мы прокрутим страницу в самый низ, то отступ снизу увеличиваем до высоты футера, т.е. этот блок располагаем на определенном расстоянии допусти 150px , т.е. bottom: 150px
clockworkbird
Сообщение
10/08/2011 18:45
Копия темы
Повесить обработчик на событие scroll документа, высчитать высоту окна, документа и футера а так же смещение скрола, позиционировать футер.
Sergexcom
Сообщение
10/08/2011 19:12
Копия темы
Я бы делал приблизительно так: в CSS .neededclass { position:fixed; bottom:0px; } var max=$(document).height() $(window).height(); $(window).scroll(function () { if ($(this).scrollTop()>=max-1) {$("div.neededclass").css({'bottom':'150px'});} else {$("div.neededclass").css({'bottom':'0px'});} });
Sergexcom
Сообщение
10/08/2011 19:40
Копия темы
var max=$(document).height() – $(window).height(); $(function () { $(window).scroll(function () { if ($(this).scrollTop()>=max-1) {$("div.neededclass").css({'bottom':'150px'}) ;} else {$("div.neededclass").css({'bottom':'0px'});} }); }); Вот так событие будет вызываться. Сейчас сделаю у себя страничку, и вышлю окончательный код, это то я на скорую руку набросал
Sergexcom
Сообщение
10/08/2011 20:04
Копия темы
Собственно вот jquery плохо реагировал на элемент document. Странно
liderdenis
Сообщение
10/08/2011 20:08
Копия темы
хм вот у меня чет он не работает. всё время показывает его на расстоянии 150px с низу и удалил всё в нутри блока.
Sergexcom
Сообщение
10/08/2011 20:13
Копия темы
Попробуй после $(window).scroll(function () { влепить alert(123); Может браузер и на $(window) не реагирует. В Opera и Firefox без проблем работает
Sergexcom
Сообщение
10/08/2011 20:20
Копия темы
Попробуй вместо alert(123); $("div.b-footer").html($(window).scrollTop()); поставить $("div.b-footer").html($(window).scrollTop()+' '+document.documentElement.clientHeight+' '+$(window).height()); Проблемы не решит пока, но будут видны значения
Sergexcom
Сообщение
10/08/2011 20:31
Копия темы
0
Оно у тебя высоту документа по другому находит. Нашел более-менее универсальную функцию Попробуй этот код <script> function getDocHeight() { var D = document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight) ); } jQuery(document).ready(function($) { var mx=getDocHeight()-$(window).height(); $(window).scroll(function () { if ($(this).scrollTop()>=mx) {$("div.b-footer").css({'bottom':' 150px'});} else {$("div.b-footer").css({'bottom':' 0px'});} }); }); <\script> |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |