Задать вопрос

Липкие блоки jquery?

Добрый вечер Уважаемые!



Нашёл только на руселлере плагинчик, и то по странным причинам он не работает.

Нужно сделать что бы определённый блок отображаемый на страничке(где то по центру вертикали) при прокрутке прилипал к верхней части экрана, до тех пор пока мы не прокрутим страничку вверх, где он встанет на своё место.



Спасибо!
  • Вопрос задан
  • 26387 просмотров
Подписаться 23 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
frol
@frol
Линуксоид
Я делал такое сам, тут не особо нужен целый плагин.
    $(function() {
        var box = $('#messagelist'); // float-fixed block

        var top = box.offset().top - parseFloat(box.css('marginTop').replace(/auto/, 0));
        $(window).scroll(function(){
            var windowpos = $(window).scrollTop();
            if(windowpos < top) {
                box.css('position', 'static');
            } else {
                box.css('position', 'fixed');
                box.css('top', 0);
            }
        });
    });
Ответ написан
@Ualde
Собственно, правильно все сказали выше — никакой плагин не нужен. Но и решение, правда, не совсем верное.
Советую прочитать небольшое руководство как сделать такого вида слой (ползающий по экрану), там же есть и превью (прямо на странице руководства).
Ответ написан
Judixel
@Judixel
Front-end Engineer
$(document).ready(function(){
var obj = $('#sticky');
var offset = obj.offset();
var topOffset = offset.top;
var marginTop = obj.css("marginTop");

$(window).scroll(function() {
var scrollTop = $(window).scrollTop();

	if (scrollTop >= topOffset){

		obj.css({
			marginTop: 90,
			position: 'fixed',
		});
	}

	if (scrollTop < topOffset){

		obj.css({
			marginTop: 20,
			position: 'relative',
		});
	}
});
});
Ответ написан
Плавающий блок с прилипанием от шапки до футера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 14:07
15000 руб./за проект
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект