1. HTML разметка
Первое что мы сделаем, это вставим наш HTML код в том месте Вашего сайта, где вы хотите видеть меню.
<div id="menu" class="default">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">WordPress</a></li>
<li><a href="#">HTML5&CSS3</a></li>
<li><a href="#">PHP</a></li>
</ul>
</div>
Меню присваивается класс default, благодаря которому наш jquery сможет потом определить что именно этот блок потом нужно закрепить сверху.
2. jQuery код
В шапке перед закрывающимся head вставляем код. Как я писал выше, он определить блок с классом default и после прокрутки присваивает ему класс fixed. Можете поменять названия классов, если это Вам нужно. Но только внимательно и не пропустите ничего, иначе все попросту перестанет работать. Менять нужно в jQuery, HTML и CSS.
<script type="text/javascript">
$(document).ready(function(){
var $menu = $("#menu");
$(window).scroll(function(){
if ( $(this).scrollTop() > 100 && $menu.hasClass("default") ){
$menu.fadeOut('fast',function(){
$(this).removeClass("default")
.addClass("fixed")
.fadeIn('fast');
});
} else if($(this).scrollTop() <= 100 && $menu.hasClass("fixed")) {
$menu.fadeOut('fast',function(){
$(this).removeClass("fixed")
.addClass("default")
.fadeIn('fast');
});
}
});
});
</script>
3. Библиотека jQuery
Возможно у Вас уже это сделано и Вы можете пропустить этот пункт, чтобы не произошло конфликта. Если же нет, то вставьте перед скриптом из пункта №2 следующий код.
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
4. CSS стили
Для того чтобы все выглядело красиво и конечно, же правильно работало, вставляем в Ваш файл стилей следующий код.
#menu{
text-transform: uppercase;
text-align: center;
line-height: 50px;
background: #333;
}
#menu ul{padding:0; margin:0;}
#menu li{
display: inline;
list-style:none;
margin: 5px 10px;
}
#menu li a{
padding:5px 10px;
color:#fff;
text-decoration: none;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
#menu li a:hover{
background: #36c;
color: #ff0;
-webkit-transition-property: color, background;
-webkit-transition-duration: 0.5s, 0.5s;
}
.default{
width:920px;
}
.fixed{
position:fixed;
top:-5px; left:0;
width:100%;
padding:10px 0;
}
Если все сделано правильно, то у Вас должно быть как в примере. Исходники скачать можете, нажав на ссылку ниже.

На этом все, спасибо за внимание 🙂





