Плавающий сайдбар в приделах одного блока

(Ответов: 5, Просмотров: 3663)
  1. Дипломник Аватар для webm0ney
    • Регистрация: 31.05.2011
    • Сообщений: 232
    • Репутация: 33
    Всем привет. Имеется скрипт плавающего блока с сайта _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({
    marginTop0
    });
    }
    });
    }); 
    Вроде нормально все плавает, но когда плавающий блок доезжает до футера... он его просто отталкивает вниз и в итоге можно доооолго стролить страницу...
    Как сделать ограничение блока #sidebar плавать в приделах одного блока не отталкивая низ... либо останавливаться когда доплывает до футера?
    • 1

    Спасибо сказали:

    DeleteD(15.07.2013),
  2. Дипломник Аватар для _Серега_
    • Регистрация: 11.02.2013
    • Сообщений: 125
    • Репутация: 32
    • Webmoney BL: ?
    примерно такое условие добавьте
    Код:
    
    if ($("#sidebar").height()+topPadding+offset.top > высота_внешнего_блока) {
    $("#sidebar").stop().animate({ 
    marginTop: высота_внешнего_блока - $("#sidebar").height();
    });
    }
    Последний раз редактировалось _Серега_; 15.07.2013 в 23:12.
    • 0
  3. ♥ CPA Аватар для DoZer
    • Регистрация: 20.05.2011
    • Сообщений: 191
    • Репутация: 62
    • Webmoney BL: ?
    Цитата Сообщение от _Серега_ Посмотреть сообщение
    примерно такое условие добавьте
    что-то не работает. Кто нибудь может помочь с этим скриптом?
    • 0
  4. Новичок
    • Регистрация: 10.06.2014
    • Сообщений: 6
    • Репутация: 4
    DoZer, все работает. Покажите ваш код или пример использования
    • 0
  5. Дипломник Аватар для Unick
    • Регистрация: 12.02.2013
    • Сообщений: 142
    • Репутация: 45
    я уже ответил в теме, где продублировали проблему
    Программирование на JS, JQ, Ajax
    редактировать подпись
    • 0
  6. Веб-дизайнер Аватар для 13bis
    • Регистрация: 17.02.2014
    • Сообщений: 394
    • Репутация: 170
    Ага, была такая же проблема именно с этим скриптом, решил следующим образом:

    Код:
            $(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
                        });
                    };
                });
            });
    .content - это привязка к конкретному блоку слева, за границы которого сайдбар спускаться уже не будет
    • 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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры