2014-10-02 5 views
0

페이지 하단 (position:absolute;bottom:0px;)에 메뉴로드를 고정하려고하지만 사용자가 스크롤하면 상단에 고정 (position:fixed;top:0px;)하고 싶습니다.jQuery scroll then fixed

여기 내 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

JSFiddle에 jQuery를 포함하지 않았을뿐만 아니라 대문자가 섞여 있습니다. 다음은 업데이트 된 JSFiddle입니다. http://jsfiddle.net/tb2ume6v/1/

+0

흥미 롭다. JSFiddle에서 작동하지만 내 로컬 호스트에서는 작동하지 않는다. ' – 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