javascript 질문드려욥~

javascript 질문드려욥~

QA

javascript 질문드려욥~

본문

아래는 html입니다


<header id="header">
    <div class="inner">
    <h1 id="corporate-logo"><a href="#"><img src="img/logo.svg" /></a>
    </h1><!-- corporate-logo end -->
    <nav id="global-nav">
        <ul id="menu-global">
            <li><a href="#" class="menu">HOME</a></li>
            <li><a href="#" class="menu">SERVICE</a></li>
            <li><a href="#" class="menu">COMPANY</a></li>
            <li><a href="#" class="menu">RECRUIT</a></li>
            <li><a href="#" class="menu">CONTACT</a></li>
            <li><a href="#" class="menu">BLOG</a></li>
        </ul><!-- #menu-global end -->
    </nav><!-- #global-nav end -->
    </div><!-- .inner end -->
</header><!-- #header end -->

 

 

아래는 css입니다


#header {
    height:110px;
}
#header .inner {
    width: 1140px;
    margin: 0 auto;
    height: 68px;
    padding: 42px 0 0 0;
}
#header .inner #corporate-logo {
    width: 272px;
    float: left;
    margin: 0 0 0 30px;
}
#header #global-nav {
    float: right;
    margin: 0 30px 0 0;
}
#header #global-nav #menu-global {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1rem;
    line-height: 63px;
    height: 68px;
}
#header #global-nav #menu-global li {
    display:block;
    width:111px;
    text-align: center;
    color: #000000;
}
#header #global-nav #menu-global li .menu {
    display: block;
    border-top: 5px solid #ffffff ;
}
#header #global-nav #menu-global li a:hover {
    border-top: 5px solid #7ac943 ;
}

 

아래는 js입니다


var menuHeight = $('#header').height();
    var startPos = 0;
    $(window).scroll(function(){
        var currentPos = $(this).scrollTop();
        if (currentPos > startPos){
            if($(window).scrollTop() >= 20){
                $('#header').css('top','-' + menuHeight + 'px');
            }
        } else {
            $('#header').css('top', 0 + 'px');
        }
        startPos = currentPos;
    });

 

폭이 750px이하일 경우에는

아래로 스크롤 할 때는 로고와 메뉴가 숨고,

위로 스크롤 할 때는 메뉴만 보이게 하고 싶습니다.

위 코드를 이용하여 만들었는데 높이가 잘 안맞고 잘 안되서요 ㅠ ㅠ..

 

로고와 메뉴가 표시되는 상태인데,

로고는 맨위로 올라갔을 때만 보이고,

위로 스크롤 할 때는 메뉴네비만 보이게 하고 싶은데

어디를 수정하면 그렇게 할 수 있을까요? ㅠ

(제 질문이 이해가 안가시면 알려주세요,

제가 한글이 좀 딸립니다 ㅠ)

 

한번 봐주시면 감사하겠습니다. 

 

 

이 질문에 댓글 쓰기 :

답변 1

ie8 지원해야 하나요? 지원안해도 된다면,

미디어 쿼리를 사용하여 해당 부분을 fixed 속성을 추가하면 원하는 결과가 나올것 같네요.

@media screen and (max-width:750px) {

     #header{display:fixed} 

}

 

대략이런식... 물론 테스트는 안해봤습니다. 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 126,584 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT