Всем привет. Имеется скрипт плавающего блока с сайта _http://ruseller.com/lessons.php?rub=2&id=480 (jQuery)PHP код:Вроде нормально все плавает, но когда плавающий блок доезжает до футера... он его просто отталкивает вниз и в итоге можно доооолго стролить страницу...$(function() {
var offset = $("#sidebar").offset();
var topPadding = 15;
$(window).scroll(function() {
if ($(window).scrollTop() > offset.top) {
$("#sidebar").stop().animate({
marginTop: $(window).scrollTop() - offset.top + topPadding
});
} else {
$("#sidebar").stop().animate({
marginTop: 0
});
}
});
});
Как сделать ограничение блока #sidebar плавать в приделах одного блока не отталкивая низ... либо останавливаться когда доплывает до футера?![]()
- 15.07.2013 20:25
Спасибо сказали:
DeleteD(15.07.2013), - 15.07.2013 23:09
примерно такое условие добавьте
Код:if ($("#sidebar").height()+topPadding+offset.top > высота_внешнего_блока) { $("#sidebar").stop().animate({ marginTop: высота_внешнего_блока - $("#sidebar").height(); }); }Последний раз редактировалось _Серега_; 15.07.2013 в 23:12.
- 13.05.2014 22:32
- 17.06.2014 22:33Новичок

- Регистрация: 10.06.2014
- Сообщений: 6
- Репутация: 4
DoZer, все работает. Покажите ваш код или пример использования
- 28.09.2014 00:53
я уже ответил в теме, где продублировали проблему
Программирование на JS, JQ, Ajax - 28.09.2014 11:31
Ага, была такая же проблема именно с этим скриптом, решил следующим образом:
Код:.content - это привязка к конкретному блоку слева, за границы которого сайдбар спускаться уже не будет$(document).ready(function() { var offset = $(".content").offset(); var topPadding = 10; var bar_offset = 0; var max_offset = $('.content').height() - $('#sidebar').height() - topPadding - 10; if($('title').text() == 'КОНТЕНТ') { max_offset = $('.content').height() - $('#sidebar').height() - topPadding - 50; }; /* console.log('максимальный отступ ' + max_offset); console.log('отступ сверху ' + offset.top);*/ $(window).scroll(function() { offset = $(".content").offset(); if ($(window).scrollTop() > offset.top) { bar_offset = $(window).scrollTop() - offset.top - topPadding; /* console.log('отступ сверху ' + offset.top); console.log('отступ ' + bar_offset);*/ if( bar_offset > max_offset) {bar_offset = max_offset} $("#sidebar").stop().animate({ marginTop: bar_offset }); } else { $("#sidebar").stop().animate({ marginTop: 0 }); }; }); });
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Куда пропадает сайдбар? | WordPress | 3 | 29.06.2013 21:32 |
Как вывести категории с записями в сайдбар | WordPress | 8 | 07.12.2012 16:37 |
Как сделать второй сайдбар на блоге? | WordPress | 10 | 04.10.2012 23:21 |
Как сделать 2-х колоночный сайдбар в вордпресс. | WordPress | 8 | 17.03.2012 23:22 |
Пропал сайдбар в WP | Web программирование | 2 | 24.08.2011 23:01 |






