Изменение размера шапки при прокрутке

В сегодняшней статье хотелось бы поговорить о анимации при прокрутке (скролле) окна браузера. Вы наверняка посещали сайты в которых при прокрутке окна элементы сайта меняют свой внешний вид или меняют свой размер либо меняют свое место расположения, чаще всего данный эффект используется для уменьшения размера шапки сайта при прокрутке.

Я тоже видел такие сайты и понимал что эти эффекты сделаны при помощи JavaScript, а так как я не слишком силен в данном языке программирования я не торопился в этом разобраться, но когда возникла безвыходная ситуация и пришлось все таки углубиться в этот вопрос все оказалось не так уж и страшно. В этой статье я хочу поделиться своим опытом, как при минимальном знание JavaScript создать эффект уменьшения header (хедера) при прокрутке окна браузера.

Первым делом напишем простенький HTML код для наших экспериментов:

  1. оформим его опять таки при помощи не сложного CSS
				
					.wrap {
height:1000px;
background:green;
}
.header {
height:50px;
background:blue;
position:fixed;
}
.header > a {
color: #ccc;
font-size:2em;
}
				
			
  1. Ну а теперь изюминка, JavaScript:
				
					$(window).scroll(function(){
if ($(window).scrollTop() > 400) {
$('.header').addClass('scroll');
}
else {
$('.header').removeClass('scroll')
}
});

				
			

Давайте разберемся подробнее, что мы делаем при помощи указанного выше скрипта: мы добавляем при скролле диву с классом .header дополнительный класс .scroll на который мы можем повесить любые стили CSS , например:

				
					.header .scroll a {
font-size:1em;
}
				
			

На этом все, дальше включайте фантазию и у вас все получиться.

В конце приведу код примера полностью:

				
					<html>
<head>

<meta charset="utf-8">

<title></title>

<style>
.wrap {
height:1000px;
background:green;
}
.header {
height:50px;
background:blue;
position:fixed;
}
.header > a {
color: #ccc;
font-size:2em;
}
.header.scroll a {
font-size:1em;
}
</style>

</head>

<body>
<script>

$(window).scroll(function(){
if ($(window).scrollTop() > 400) {
$('.header').addClass('scroll');
}
else {
$('.header').removeClass('scroll')
}
});

</script>

<div class='wrap'>
<div class='header'>
<a href='#'>link</a>
</div>
</div>
</body>
</html>
				
			
Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Оборудование
help2site
CHKDSK, система перезагружается при запуске

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

Программы
help2site
Бесплатная программа FTP клиент FileZilla

Оглавление Filezilla ftp client. Удаленная работа с хостингом. Filezilla ftp client – это прекрасная программа для доступа к серверу хостинга, на котором находится ваш сайт,

Windows
help2site
Отключаем всплывающие подсказки Windows

Операционная система Windows 7 устроена так, что зачастую пытается давать свои советы – как лучше пользоваться системой, по началу эти подсказки не заметны, однако опытных

Web-Дизайн
help2site
Скользящие кнопки социальных сетей для сайта

Кнопки социальных сетей для сайта. Полагаю, что большинство читателей понимают, какое значение имеют кнопки соц сетей для сайта: кнопки социальных сетей – это часть внутренней

Web-Дизайн
help2site
Перезагрузка Apache в Windows

В этой заметке я расскажу вам, как перезагрузить Apache в Windows не с помощью командной строки, а с использованием интерфейса Windows. Я считаю, что для