Общие задачи и решения к ним

Шаблоны: фиксированная позиция меню или колонтитула

Задача в том, чтобы меню или колонтитул "прилипали" на странице и оставались видимыми при прокрутке страницы вверх. В этом случае элемент остаётся на своей позиции и всегда находится в области видимости. Решим эту задачу с помощью jQuery и CSS(sticky position)

Шаг 1. HTML разметка

<div class="wrapper"> 
    <div class="header">
        Header
    </div>
    <div class="nav">
        Navigation
    </div>
    <div class="content">
        <p>Candy canes tart pie biscuit. Cupcake liquorice cake dessert tootsie roll 
        applicake pastry. ...</p>
    </div>
</div>

Шаг 2. Css стили

.sticky { 
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 100;
    border-top: 0;
}

Шаг 3. jQuery


<script type="text/javascript">
$(document).ready(function() {
// grab the initial top offset of the navigation
var stickyNavTop = $('.nav').offset().top;
// our function that decides weather the navigation bar should have "fixed" css position or not.
var stickyNav = function(){
var scrollTop = $(window).scrollTop(); // our current vertical position from the top
// if we've scrolled more than the navigation, change its position to fixed to stick to top,
// otherwise change it back to relative
if (scrollTop > stickyNavTop) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
};
stickyNav();
// and run it again every time you scroll
$(window).scroll(function() {
stickyNav();
});
});
</script>