2013-12-15 3 views
2

У меня есть панель навигации после заголовка, и я хочу, чтобы это застряло в верхней части страницы во время прокрутки вниз.Навигационная панель фиксированная после прокрутки?

могу ли я сделать с позиция: относительная ?? В отличие от позиции: исправлено с помощью следующего сценария или другого лучшего способа?

$(window).scroll(function() { 
if ($(window).scrollTop() > 100) { 
    $('#header').css('top', $(window).scrollTop()); 
}}); 

вот мой fiddle!

черный цвет фона бар, застрял в верхней части страницы

Пожалуйста, помогите мне исправить это, спасибо заранее.

+0

Посмотрите на [StickyJS] (http://stickyjs.com/). –

+0

@HashemQolami Спасибо за ссылку, могу ли я использовать этот плагин для коммерческого веб-сайта ?? – stacky

+0

@HashemQolami Было бы более полезно для меня без плагинов, возможно ли это с моей скрипкой? пожалуйста! – stacky

ответ

4

this Что вы пытаетесь получить?

window.onscroll = changePos; 

function changePos() { 
    var header = document.getElementById("header"); 
    if (window.pageYOffset > 70) { 
     header.style.position = "fixed"; 
     header.style.top = "0"; 
    } else { 
     header.style.position = ""; 
     header.style.top = ""; 
    } 
} 

Update: (я думаю, не уверен) вы не можете прокручивать фиксированный элемент, но вы можете абсолютно один. Итак, в приведенном ниже коде мы используем position: absolute, но заставляем его вести себя так, как будто это fixed. Теперь вы можете увидеть #header, когда вы увеличиваете масштаб и прокручиваете вниз.

window.onscroll = changePos; 

function changePos() { 
    var header = document.getElementById("header"); 
    if (window.pageYOffset > 70) { 
     header.style.position = "absolute"; 
     header.style.top = pageYOffset + "px"; 
    } else { 
     header.style.position = ""; 
     header.style.top = ""; 
    } 
} 

FIDDLE

+0

эй большое спасибо, это почти решило то, что я хотел. Но есть небольшая проблема, элементы ** nav ** отсутствуют после масштабирования страницы и прокрутки. – stacky

+0

@Fastnto '.wrapper' имеет фиксированную ширину' 1000px'. Если вы измените его на '100%', то заголовок будет соответствовать экрану. [** Fiddle **] (http://jsfiddle.net/7HHa5/3/) – akinuri

+0

Да, это решит мою проблему, но она не будет хорошо выглядеть, поскольку она полностью заполняет ширину экрана. – stacky

Смежные вопросы