2013-05-02 4 views
0

Я застрял в точке, чтобы зафиксировать положение моего меню div, которое находится в центре страницы или когда-то сверху, что зависит от содержимого. Я хочу зафиксировать позицию div, когда я прокручиваю страницу так, чтобы она отображалась в верхней части страницы (даже если она находится в центре или сверху или снизу). Пожалуйста, дайте мне знать, как я могу получить позицию div и примените позицию css, зафиксированную, когда она попадает в верхнюю часть страницы, используя jquery. например http://new.livestream.com/live-video-toolsПолучить позицию div на странице прокрутки в jQuery

+0

Здравствуйте, посмотрите http://www.sutanaryan.com/jquery/how-to-create-fixed-menu-when-scrolling-page-with-css-and-jquery/ – nicolas

+0

Я проверил его, он использует статическую высоту 136 сверху, я хочу, чтобы динамическая высота не была уверенна в позиции меню, потому что она зависела от содержимого –

ответ

1

Я сделал попытку: see JsFiddle

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

$(document).ready(function(){ 
    var iMenuTop = $('.menu').offset().top; 
    $(window).scroll(function(){ 
     var iWinTop = $(this).scrollTop(); 
     if(iWinTop >= iMenuTop) 
      $('.menu').css({ 
       position:'fixed', 
       top:0}); 
     else 
      $('.menu').css('position','static');   
    }); 
}); 

Работа с Firefox, не Сюр для других ...

Редактировать: это действительно черновик, вам, возможно, придется адаптировать, например, если при загрузке уже есть прокрутка, что может произойти с помощью кнопки возврата браузера.

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