최근 프로젝트에서 작업 할 때 scroll-then-fix 헤더를 추가하려고했습니다. 나는이 모든 것을 조사했지만 많은 온라인 소스는 다양한 언어의 구버전에 의존하거나 설명되지 않은 '마법의 숫자'에 광범위하게 의존하면서 거의 도움이되지 못했습니다. 결국, 나는 단순히 나 자신을 코드로 결정하고, 생성 된 다음붙일 때 navbar를 중앙에 유지하는 방법?
$(document).ready(function(){
var elementPosition = $('#navbar').offset();
$(window).scroll(function() {
if ($(window).scrollTop() > elementPosition.top) {
$('#navbar').css('position', 'fixed').css('top', '0');
} else {
$('#navbar').css('position', 'static');
}})});
이 가기 네비게이션 바에을 끈적하기 위해 노력하고 있지만이 활성화 될 때마다 대신의 중심 위치를 유지 왼쪽 상단에 메모장 . 내가 바꾸고있는 것은 '위치'와 속성 '상단'을 추가하는 것이므로 갑자기 옆으로 옮길 이유가 없습니다. 나는 당신이 가질 수있는 수정이나 설명을 대단히 감사 할 것입니다.
<div id="navbar"><ul>
<li id="activePage"><a href="">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Upcoming events </a><li>
<li><a href="">Contact Us</a></li>
<li><a href="">Contribute</a></li>
</ul></div>
과 CSS :
#navbar {
background-color: white;
z-index: 1;
}
#navbar ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
text-align: center;
width: 100%;
}
#navbar li {
text-align: center;
display: inline;
}
#navbar ul #activePage a {
color: #cec8c8;
}
#navbar li a {
color: black;
padding: 14px 35px;
text-decoration: none;
font-family: 'Roboto Slab';
font-size: 25px;
text-align: center;
}
어떤을 위해 사전에 감사하고 모든 당신이 제공 할 수 있도록 참고로, 여기에 관련 HTML입니다!
완벽하게 작동했습니다. 감사합니다. 한 가지 질문 :'.css ({ 'top': '0', 'left': '0', 'right': '0'})'와 같은 일을 할 수 있다면'.css .css ({ '상단': '0', '좌측': '0', '우측': '0', '위치', '고정'})); '? – Bugsy
@Bugsy np! 네, 그런 것들을 결합 할 수 있습니다. 또는 더 깨끗한 방법은 CSS 속성을'.sticky'와 같은 클래스에 넣고 jQuery를'$. addClass ('sticky');와'$ .removeClass ('sticky');'당신의'scrollTop()'조건에 따라. –