HTML CSS шпаргалка Рецепты, статьи, советы, приемы html css

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

Встала задача сделать position:fixed относительно родительского блока. При поиске в Интернете наткнулся на интересный jquery скриптик, делающий подобную вещь.

Приступим к коду, из которого сразу становится все понятно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!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.

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

Посмотреть пример

Метки: , ,

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

  • StoneLine:

    Есть баг у этого скрипта.
    Если блок который плавающий занимает >50% разрешения экрана, то он будет уталкивать вниз фуутер или страницу до бесконечности.
    Найду решение, напишу

  • Да да да! Как сделать чтоб он не уводил футер до бесконечности?!
    И автор! Сделай пожалуйста подписку на комментарии — email подписку. внизу формы галочка — мол, получать новые ответы на email.

  • Я примерно вот так решил эту проблему (только свои данные подставите)

    $(function() {
    var offset = $(«.slide_blogs»).offset();
    var topPadding = 15;
    $(window).scroll(function() {
    if ($(window).scrollTop() > offset.top) {
    if (($(window).scrollTop() — offset.top + topPadding) > ($(«.slide_blogs»).parent().height() — $(«.slide_blogs»).height()))
    {
    $(«.slide_blogs»).stop().animate({marginTop: $(«.slide_blogs»).parent().height() — $(«.slide_blogs»).height()}, 1300);
    }
    else
    {
    $(«.slide_blogs»).stop().animate({marginTop: $(window).scrollTop() — offset.top + topPadding}, 1300);
    }
    }
    else {$(«.slide_blogs»).stop().animate({marginTop: 0}, 1300);};});
    });

  • Дмитрий:

    StoneLine: спасибо за решение, очень помогло, но вопрос на счет бесконечного футера активен. Подскажи как это убрать, чтоб не увеличивался футер?

    Александр: твой вариант даже не получилось отпробовать… dreamweaver говорит что в строчке if (($(window).scrollTop() – offset.top + topPadding) > ($(«.slide_blogs»).parent().height() – $(«.slide_blogs»).height())) ошибка. Что там не так?

  • Аноним:

    Ошибки могут быть в кавычках, если из коммента просто скопировал

  • Дмитрий:

    я тоже так думал… заменил все кавычки, и все равно на этой строке пока ошибка.

  • Дмитрий:

    А еще, можно ли как-то обойтись строкой, которая грузит скрипт со стороннего сайта (28 строка первого листинга)? дело в том, что я приминил этот код в сайте на joomla, в которой были установлены другие плагины использующие скрипты.
    Так вот если …первый листинг… поставить после загрузки основных скриптов(т.е после ), которые выводит сама joomla, то ранее установленные плагины перестают работать. Если поставить перед — то плагины работают , а плавающий блок перестает работать…??

    Т.е. получается что-то перебивает кого-то.

  • Аноним:

    это просто грузится jquery, а в джумле, как мне известно используется mootols. вот они и конфликтуют. по-идее эту функцию из примера надо переписать на mootols.

  • Дмитрий:

    Аноним: т.е. переписать? что вы имеете в виду?

  • Костя:

    Данный яваскрипт код написан на jquery. теперь для джумлы, его нужно переписать (поменять синтаксис) на mootols

  • Дмитрий:

    Костя: если я не умею програмить, есть какое-то еще решение? или поменять синтаксис не сложно…
    p/s/ извините, но я темен в скриптах :)

  • Костя:

    В джумле есть фигня какая-то, которая подключает jquery и которая подключает jquery no conflict, и вроде как должно работать. Надо поискать в поисковиках на тему подключение jquery в джумле.

  • Дмитрий:

    Костя: спасибо за правильное направление, где копать…
    Вот решение:
    в первом листинге после 29 стоки, перед $(function() надо добавить jQuery.noConflict();
    и далее по коду скрипта заменить все значки $ на jQuery
    Т.е. получится следующее:
    jQuery.noConflict();
    jQuery(function(){
    var offset = jQuery(«#fixed»).offset();
    var topPadding = 15;
    jQuery(window).scroll(function() {
    if (jQuery(window).scrollTop() > offset.top) {
    jQuery(«#fixed»).stop().animate({marginTop: jQuery(window).scrollTop() — offset.top + topPadding});
    }
    else {jQuery(«#fixed»).stop().animate({marginTop: 0});};});
    });

  • Дмитрий:

    Но остался один вопрос открыт: как убрать бесконечную прокрутку??

  • Костя:

    Я бы тоже был бы рад узнать)

  • Дмитрий:

    единственный вариант, по крайней мере хотя бы уменьшить шаг увеличения прокрутки вниз, так это убрать отступ 15 px. былоб возможно в минус поставить пару пикселей….
    Где же автор подевался?

  • massaraksh:

    поставить у плавающего блок position:absolute;
    тогда он исчезнет из потока документа и не будет толкать футер.

  • Дмитрий:

    massaraksh: но тогда он наезжает на то, что перед футером. в моем случае плавающий блок — это левое вертикальное меню. и под контентом есть еще блоки, а под ними уже футер.

  • Евгений:

    Да, абсолютное позиционирование помогло против того, что футер вниз уходит, но что делать с тем, что блок всёравно в определенных случаях опускается ниже, чем надо?

  • Решыл проблему указанием блока #fixed margin:0 0 -155 0; (-155 под вашу ситуацию)

  • Дмитрий:

    что такое 155? если это высота футера, то как быть если футер разный по высоте. или еще вариант есть, что между футером и главным контентом, будут еще какие-тоблоки.
    Т.е надо найти решение, чтоб при прокрутке до определенного расстояния блок следил/плавал, а по достижении предела уходил за экран, а не спускался и увеличивал расстояние между футером и контентом.

  • lev:

    Возникла следующая проблема: в том случае, если блок занимает размер, равный высоте экрана, то он начинает тянуться за нижний край страницы. Как это решить Пример: http://lev19888.narod.ru/38.html

  • Костя:

    lev, когда 1024*768 у тебя справа серый блок и сверху, и снизу лезет за экран, а при 1280 только сверху. Сделай меньше блок, он у тебя воообще не равен высотве экрана. Или я не так понял вопрос)

  • вот такой вариант учитывает вариант когда перед блоком ещё что-то есть и не позволяет вылезти за пределы блока:

    if ($(«#banner_fixed»).length) {
    var banner_fixed_position = $(«#banner_fixed»).position();
    var banner_fixed_offset = $(«#banner_fixed»).offset();
    $(«#banner_fixed»).css(«position»,»absolute»);
    $(window).scroll(function() {
    if (($(window).scrollTop() — banner_fixed_offset.top) > 0) {
    var banner_top = banner_fixed_position.top + $(window).scrollTop() — banner_fixed_offset.top;
    if (($(«#banner_fixed»).parent().height() — banner_top) > $(«#banner_fixed»).height()) {
    $(«#banner_fixed»).stop().animate({top: banner_top});
    };
    }
    else {$(«#banner_fixed»).stop().css(«top»,banner_fixed_position.top);};});
    }

    у родительского блока — position: relative;

  • я немного запуталась в ваших размышлениях и так и не поняла решили ли вы проблему с бесконечным прокручиванием, если высота окна меньше высоты блока, но лично для себя решила проблему следующим образом:
    добавила проверку на то чтобы высота всего html (за вычетом высоты нашего блока — в моем случае 200) была больше чем $(window).scrollTop() :

    var offset = $(«#fixed»).offset();
    var topPadding = 15;
    var MaxHeight = $(document).height()-200-$(«#fixed»).height();
    $(window).scroll(function() {
    if ($(window).scrollTop() >=MaxHeight) {}
    else if ($(window).scrollTop() > offset.top) {
    $(«#fixed»).stop().animate({marginTop: $(window).scrollTop() — offset.top + topPadding});
    }
    else {$(«#fixed»).stop().animate({marginTop: 0});};});

    както так)) надеюсь комунить да сгодится

  • Спасибо автору и еще за помощь Na2se4ka. Я поставил скользящий блок и научил его знать меру. Вот результат: http://onlinebesplatno.ru

  • Иван:

    А как задать в данном скрипте скорость скольжения???? Чтобы движение бокса начиналось только когда мышка перестанет прокручивать страницу, а то трясучка какая-то получается. ))

  • Вроде ни как со скоростью не поиграешь. У меня разные браузеры по разному ведут себя. Например 9 IE как раз так и прокручивает, как Вам нужно.

  • blak122:

    У меня плавающее меню и увеличение картинок на juery, но при клике по картинке меню остается на месте и больше не сдвигается.Как решить?

  • Oleg:

    Есть чистый код ля этого решения и как убрать плавность движения (аммортизации), никто не подскажет?

  • Да, есть, Я написал страничку, где показал, что и как делать, привёл пример, как это раотает — может кому и пригодиться ;)

  • Sorry, а страничку-то забыл выложить — вот http://pansoul.byethost15.com/float_menu.html

  • извините, не подскажите — можно ли это сделать на Портале игр

  • Спасибо, Ваш код помог. Теперь на футер не наезжает. http://rmnt.net/

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

Для вставки кода используйте <code> ... </code>.



Самые комментируемые

Облако тегов

Нет тегов найденных по заданным критериям.

Опрос