Плавающий блок с помощью jquery

Плавающий блок с помощью jquery (или position:fixed относительно родительского блока)

Встала задача сделать position:fixed относительно родительского блока. При поиске в Интернете наткнулся на интересный jquery скриптик, делающий подобную вещь.
Приступим к коду, из которого сразу становится все понятно:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Плавающий блок</title>
<style type="text/css">
#main {
	width:900px;
	margin:0 auto;
}
.colLeft {
	width:70%;
	float:left;
}
.colRight {
	float:right;
	width:20%;
}
h1{
	background:#CCC;
	padding:50px;
}
#fixed {
	background:#CCC;
	padding:20px;
}
</style>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
<script type="text/javascript">
	$(function() {
		var offset = $("#fixed").offset();
		var topPadding = 15;
		$(window).scroll(function() {
			if ($(window).scrollTop() > offset.top) {
				$("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
			}
			else {$("#fixed").stop().animate({marginTop: 0});};});
	});
</script>
</head>
<body>
<div id="main">
	<h1>Плавающий блок. Прокрутите страницу вниз</h1>
	<div class="colLeft">
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская изменане могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
		<p>«Превратим Я зафиксированный блок каждого китайца в маленький заводик по выработке удобрений». Не помню, откуда это. Надо бы записать. Я много видел разного креатива, но такого Я зафиксированный блок я даже не мог себе представить. Сам по себе Я зафиксированный блок еще ничего не доказывает: порой курица снесет яйцо, а кудахчет так, словно снесла целую планету. В конце декабря и начале января Я зафиксированный блок выпадает шанс прилично заработать. Эксперимент продолжается: организованный рестораном «Я зафиксированный блок» проект набирает ход. На сей раз экспертам было предложено уникальное блюдо: «ПереЯ зафиксированный блок-недоЯ зафиксированный блок». В каждом случае, к блюду подбирался индивидуальный аккомпанимент. Не все то, что ты не можешь доказать, является Я зафиксированный блок. Я зафиксированный блок – следствие бесполезного пробуждения. По Кодексу Наполеона (гражданский кодекс французов), вступившему в силу 21 марта 1804 года, муж мог требовать от жены развода за адюльтер, а мужская измена не могла быть достаточным основанием для развода, если только муж не брал с собой Я зафиксированный блок в дом. Наши современники не знают, не понимают, что такое адюльтер, но прекрасно знают, что такое Я зафиксированный блок. Я знаю вкус Я зафиксированный блок, но жевать нечего, а когда будет, что пожевать, боюсь Я зафиксированный блок не почувствовать. Я зафиксированный блок – пристегните самое дорогое. А вот «Колб йыннаворискифаз я» – это Я зафиксированный блок наоборот.</p>
	</div>
	<div class="colRight">
		<div id="fixed">Я зафиксированный блок</div>
	</div>
</div>
</body>
</html>


Только анимируется тут конечно же margin-top и никакого position-a нет. Но если вдруг нужно блок #fixed сделать поверх чего-либо, то можно задать ему position:absolute и анимировать свойство top.

Один из плюсов этого способа, что блок не заезжает на шапку, но при прокрутке вниз прилипает к верхнему краю окна.

1 комментарий

Alexander Boyko
Вот еще один интересный вариант плавающего блока в сайдбаре без использования position и блок останавливается перед футером (что очень важно, чтобы не наезжал при маленьких разрешениях) - http://makeasite.ru/blog/sticky-block-at-sidebar.html

Оставить комментарий

Комментировать при помощи:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.