2013-09-05 2 views
-1

Я борюсь с некоторыми проблемами относительно фиксированного пункта меню. Я должен упомянуть, что я все еще новичок в javascript. Основываясь на некоторых ответах, которые я нашел на этом сайте, более конкретно here, я несколько исправил проблему. Вот код, который я использую:Как остановить фиксированный пункт меню для перекрытия с нижним колонтитулом

`<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"> </script> 
<script> 
    function checkOffset() { 
    var a=$(document).scrollTop()+window.innerHeight; 
    var b=$('#footer').offset().top; 
    if (a<b) { 
     $('#menuC').css('bottom', '0px'); 
    } else { 
     $('#menuC').css('bottom', (0+(a-b))+'px'); 
    } 
    } 
    $(document).ready(checkOffset); 
    $(document).scroll(checkOffset); 
</script>` 

меню останавливается перед сноской. Проблема, которую я сейчас имею в том, что элемент меню, в зависимости от высоты браузера, не всегда находится на одном и том же месте. например если разрешение 1366 x 768, чем пиксели выше, почти нормально, если разрешение выше или ниже, чем мне нужно изменить номера, чтобы меню оставалось там, где оно должно быть.

Другой ответ, который больше подходит моим потребностям, - this и основан на том, что я сделал свой собственный fiddle. То, что я хочу, чтобы мой сайт выглядел, только то, что я не могу изменить код для работы для меня, так как я не понимаю все это, чтобы внести необходимые изменения (на этот раз я не понимаю, почему существует необходимость в улавливателе дивы или в ЯШ:

`if(isScrolledTo(sticky)) { 
    sticky.css('position','fixed'); 
    sticky.css('top','2px');` 

Если sticky.css является весь файл CSS, это должно изменить каждую позицию пунктов к фиксированному).

Если кто-то может помочь мне решить эту проблему, я бы очень признателен!

ответ

0

Я думаю, что ваш недостающий() в вашей функции innerHeight jQuery. Например:
var a=$(document).scrollTop()+window.innerHeight();

Вот почему он не может определить высоту окна.

+0

Если я добавляю() после innerHeight, меню не останавливается на нижнем колонтитуле, но фиксирует позицию. – leftycool

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