Делаем шапку сайта (включающую логотип, меню и контакты) прилепленной к верхнему краю экрана, при перемотке сайта вниз.
Оборачиваем необходимый для «прилеплевания» блок в div id=»stick_menu».
В данном сайте верстка такая:
<div style="height: 1px;"></div>
<div id="header">
<div id="stick_menu">
<div class="head-order">
<div id="logo"><a href="<?php bloginfo('url'); ?>"><img class="visible" src="<?php echo get_theme_mod( 'true_logo' ); ?>"></a></div>
<div id="slogan"><table><tr><td><?php bloginfo('description'); ?></td></tr></table></div>
<div id="phone"><table><tr><td><i class="fa fa-phone"></i> <?php echo get_theme_mod( 'true_phone' ); ?></td></tr></table></div>
<div id="mail"><table><tr><td><a href="mailto:<?php echo get_theme_mod( 'true_email' ); ?>"><i class="fa fa-envelope-o"></i> <?php echo get_theme_mod( 'true_email' ); ?></a></td></tr></table></div>
</div>
<div id="nav-block">
<div id="navigate">
<nav role="navigation">
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
<li class="menu-item call-item" style="cursor:pointer;"><a><i class="fa fa-phone"></i> Звонок</a></li>
<li class="menu-item search-item" style="cursor:pointer;"><a><i class="fa fa-search"></i> Поиск</a></li>
</nav>
</div>
</div>
</div>
</div> <!-- конец header -->
Для того чтобы блок возвращался к исходному состоянию при полной перемотке вверх, надо добавить div с высотой 1px
<div style="height: 1px;"></div>
Script
$(document).ready(function() {
// Прилепленное меню
if($("div").is("#stick_menu")) {
var start_pos=$('#stick_menu').offset().top;
$(window).scroll(function(){
if ($(window).scrollTop()>=start_pos) {
if ($('#stick_menu').hasClass()==false) $('#stick_menu').addClass('to_top');
}
else $('#stick_menu').removeClass('to_top');
});
}
});
CSS
/*Приклееное меню*/
.to_top {
position: fixed;
top: 0;
right: 0;
z-index: 99;
background-color: rgba(0, 0, 0, 0.7);
}
.to_top li{
line-height: 20px !important;
font-size: 12px;
font-weight: bold;
transition: line-height 0.5s, background-color 0.5s, border 0.5s;
-webkit-transition: line-height 0.5s ease 0s, background-color 0.5s ease 0s, border 0.5s ease 0s;
}
#stick_menu {
float:left;
width:100%;
list-style:none;
font-size: 12px;
width: 80%;
padding: 0 10%;
background-color: rgba(0, 0, 0, 0.7);
box-shadow: 0px 0px 16px #000;
}
#stick_menu li {
float:left;
position:relative;
display:block;
width: 10%;
line-height: 40px;
box-sizing: border-box;
border-top: 2px solid rgba(255, 255, 255, 0);
transition: line-height 0.5s, background-color 0.5s, border 0.5s;
-webkit-transition: line-height 0.5s ease 0s, background-color 0.5s ease 0s, border 0.5s ease 0s;
}
#stick_menu li a {
display:block;
padding: 2px 10px;
color:#fff;
text-decoration:none;
position: relative;
}
Чтоб менялись свойства элементов входящих в прилепленный header при прокрутке вниз надо добавлять свойства CSS, примеры:
#logo img {
width: 70%;
float: left;
transition: width 0.5s ease;
-webkit-transition: width 0.5s ease 0s;
}
.to_top #logo img {width: 35%;}
#slogan table, #phone table, #mail table {
vertical-align: middle;
height: 50px;
transition: height 0.5s ease;
-webkit-transition: height 0.5s ease 0s;
}
.to_top #slogan table, .to_top #phone table, .to_top #mail table {height: 25px;}
#nav-block {
float: left;
position: relative;
width: 100%;
height: 40px;
transition: height 0.5s ease;
-webkit-transition: height 0.5s ease 0s;
}
.to_top #nav-block {height: 30px;}
[site-socialshare]
