스크롤바를 내려도 메뉴가 상단에 고정되게 하려면..

스크롤바를 내려도 메뉴가 상단에 고정되게 하려면..

QA

스크롤바를 내려도 메뉴가 상단에 고정되게 하려면..

답변 2

본문

* 적용한 사이트 : http://27.102.207.19/~word/

 

http://tomonari.co.kr  이곳 메뉴처럼 적용하려 합니다....

 

 

스크롤바를 내려도 메뉴가 상단에 고정되게끔 하려고 합니다.

 

// 수정한 곳 과 수정한 소스

skin/shop/sirex/boxcategory.skin.php

 

-> 아래와 같이 gnb 부분이 메뉴부분같아서 자바소스에 gnb를 넣었더니 적용한 사이트 처럼 가운데로 안뜨고

제대로 작동을 안하네요... CSS 부분이 문제 인것같은데 ㅠㅠ gnb에 관련된 CSS를 수정해주어야 하는건가요?...


고수님들 한수 부탁드리겠습니다....

 

 


<!-- ★ 상단 메뉴 고정 스크롤 자바스크립트-->
        </ul>
    $(function(){ // document ready
      if (!!$('#gnb').offset()) { // make sure "#gnb" element exists
        var stickyTop = $('#gnb').offset().top; // returns number 
        $(window).scroll(function(){ // scroll event
          var windowTop = $(window).scrollTop(); // returns number 
          if (stickyTop < windowTop){
            $('#gnb').css({ position: 'fixed', top: 0 });
          }
          else {
            $('#gnb').css('position','static');
          }
        });
      }
    });
  </script>
 <!-- ★ 상단 메뉴 고정 스크롤 자바스크립트-->
 
<!-- 쇼핑몰 카테고리 시작 { -->
<nav id="gnb">
    <h2>쇼핑몰 카테고리</h2>
    <div class="hd_inner">
        <ul id="gnb_1dul">
            <?php
            // 1단계 분류 판매 가능한 것만
            $hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_id ";
            $hresult = sql_query($hsql);
            for ($i=0; $row=sql_fetch_array($hresult); $i++)
            {
                // 2단계 분류 판매 가능한 것만
                $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_id ";
                $result2 = sql_query($sql2);
                $count = mysql_num_rows($result2);
            ?>
            <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex; ?>">
                <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>" class="gnb_1da<?php if ($count) echo ' gnb_1dam'; ?>"><?php echo $row['ca_name']; ?></a>
                <?php
                for ($j=0; $row2=sql_fetch_array($result2); $j++)
                {
                if ($j==0) echo '<ul class="gnb_2dul">';
                ?>
                    <li class="gnb_2dli"><a href="<?php echo G5_SHOP_URL; ?>/list.php?ca_id=<?php echo $row2['ca_id']; ?>" class="gnb_2da gnb_2da<?php echo $j%2; ?>"><?php echo $row2['ca_name']; ?></a></li>
                <?php }
                if ($j>0) echo '</ul>';
                ?>
            </li>
            <?php } ?>
        </ul>​

 

이 질문에 댓글 쓰기 :

답변 2

위분 답변이 맞습니다.

 

제가 테스트한 전체 소스

 

<!DOCTYPE html>

<html>

<head>

  <title></title>

</head>

<style>

body{margin:0 auto;}

div{height:100000px;}

#gnb{width:100%;height:60px;background-color:black;}

</style>

<body>

 <nav id="gnb">

 </nav>

 <div>

 </div>

</body>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>

$(function(){ // document ready

      if (!!$('#gnb').offset()) { // make sure "#gnb" element exists

        var stickyTop = $('#gnb').offset().top; // returns number

        $(window).scroll(function(){ // scroll event

          var windowTop = $(window).scrollTop(); // returns number

          if (stickyTop < windowTop){

            $('#gnb').css({ position: 'fixed', top: '0px'});

          }

          else {

            $('#gnb').css('position','static');

          }

        });

      }

    });

</script>

</html>

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 67
© SIRSOFT
현재 페이지 제일 처음으로