2014-10-02 2 views
0

Я пытаюсь настроить загрузку меню в нижней части страницы (position:absolute;bottom:0px;), но когда пользователь прокручивает, я хочу, чтобы она была прикреплена к верхней части (position:fixed;top:0px;).Прокрутка jQuery затем исправлена ​​

Вот мой JQuery:

var main = function(){ 
    var menu = $('#menu') 

    $(document).scroll(function(){ 
     if ($(this).scrollTop() >= $(window).height() - menu.height()){ 
      menu.removeclass('bottom').addclass('top') 
     } else { 
      menu.removeclass('top').addclass('bottom') 
     } 
    }) 
} 
$(document).ready(main); 

А вот мой JSFiddle

Я до сих пор, чтобы быть в состоянии успешно добавить верхний класс.

Любые идеи? Спасибо!

+3

Попробуйте использовать 'removeClass' и' addClass'. Капитализация важна. – Stryner

+0

@ Внесены изменения, но класс по-прежнему не добавлен. – starvator

+0

И не забудьте вставить jQuery. – YMMD

ответ

3

У вас была замеченная капитализация, а также вы не включили jQuery в свой JSFiddle. Вот обновленный JSFiddle. http://jsfiddle.net/tb2ume6v/1/

var main = function(){ 
    var menu = $('#menu') 

    $(document).scroll(function(){ 
     if ($(this).scrollTop() >= $(window).height() - menu.height()){ 
     menu.removeClass('bottom').addClass('top') 
     } else { 
     menu.removeClass('top').addClass('bottom') 
     } 
    }) 
} 
$(document).ready(main); 
+0

Интересно, это работает на JSFiddle, но не на моем localhost, даже с ' ' – starvator

+0

Выполняется ли вызов jQuery после включения jQuery или раньше? –

+0

Также проверьте консоль, чтобы увидеть, есть ли ошибки –

0

Вы также должны прекратить свои заявления и первый jsfiddle не имеет библиотеку JS загрузки.

var main = function(){ 
    var menu = $('#menu'); 

    $(document).scroll(function(){ 
     if ($(this).scrollTop() >= $(window).height() - menu.height()){ 
     menu.removeClass('bottom').addClass('top'); 
     } else { 
     menu.removeClass('top').addClass('bottom'); 
     } 
    }); 
}; 
$(document).ready(main); 
+0

JavaScript, и, следовательно, jQuery, на самом деле не нужны точки с запятой. Это просто соглашение. Даже при этом я попробовал, но это не решило мою проблему. – starvator

+0

Я не думаю, что ваша библиотека jquery загружается правильно. Вы не получаете никаких консольных ошибок? – Xm7X

+0

Проблема заключалась в том, что у меня не было объявлено doctype – starvator

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