Steemit 블로그 개설하기1

최근 steemit이란 블로그가 유명세를 타고 있다.
steemit에 있는 블로거들끼리 서로 추천을 눌러주면, 그에 따른 보상으로 steem 가상화폐가 주어지기 때문이다.
시세에 따라 이 화폐의 현금가치는 바뀐다.
기존 블로거의 수입은 광고였다.
티스토리, 워드프레스, 개인 사이트형 블로그에 에드센스, daum, dable 등의 광고들을 붙여서 수입원을 창출했다.

steemit은 기존의 광고형 수익이 아닌 다른 차원의 수익형 블로그를 만들어낸것이다.
컨텐츠가 많은 블로거는 steemit을 운영해보는 것도 나쁘지 않을 것 같다.

그렇기에 앞으로 운영해볼 생각이다.




일단 가입무료, 블로그 개설 무료이기에 시작해 본다.
위 주소로 들어간다.
Sign up을 클릭해준다.





Username을 입력하고, 유효성이 자동검사되면, 초록색 체크가 된다.
Continue 클릭




이메일을 입력한다.
Continue







자신의 이메일에 메일이 하나오는데, 링크를 클릭해서, 인증을 완료한다.
그러면, 아래의 핸드폰 인증화면으로 바뀐다.






문자 메시지에 인증번호가 온다.
문자로 받은 인증번호를 PC화면에 입력후, Continue하면 아래와 같은 화면이 나온다.
영어로 설명하기를... 
"steemit 운영진에서 계정생성 검토할 시간을 달라는 이야기다.
검토완료되면, 링크를 줄테니 기달려달라."라는 뜻이다.
기달리자.








'블로그 운영 Know-how > Steemit 운영 Know-how' 카테고리의 다른 글

Steemit 블로그 개설하기2  (0) 2018.03.26


서브네비게이션 메뉴 focus 이벤트

메인메뉴 버튼 이미지들




실제 화면




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<style type="text/css">
body,p,ul,li{
     margin:0px; padding:0px; list-style:none;
}
body{
     background:url(img/index_back.gif);
}
div#header_wrap{
     width:100%; height:122px; background:url(img/header_bg.gif) repeat-x;
}
div#header_center{
     width:980px; height:122px; margin:0px auto; position:relative; left:0px; top:0px;
     /* 반응형일경우는 해상도가 980px 보다 작을때는 메뉴구조를 새로 바꾸는 것이 좋다 ( 예) 네비게이션 전체를 사라지게 하고 메뉴버튼으로 보이게 */
}
     
span#logo{
     position:absolute; left:0px; top:20px;
}
ul#mainMenu_list>li{
     float:left; margin-right:50px; position:relative; left:0px; top:0px;
}
ul#mainMenu_list{
     position:absolute; left:250px; top:30px;
}
div.mainMenu{
     height:20px; overflow:hidden; position:relative; left:0px; top:0px;
}
div.mainMenu>a{
     position:relative; left:0px; top:0px; /* a테그를 움직이게 하므로 반드시 position 값이 존재해야 한다. */
}
div.subMenu{
     width:300px; position:absolute; left:0px; top:65px;
}
ul.subMenu_list>li{
     float:left; margin-right:10px;
}
</style>
<script type="text/javascript">
     
     var $mainMenu;
     var $subMenu;
     var overNum;
     
     //  실제로 sub메뉴가 다양할 경우, 바로 밑에 생기면, 모양이 이상하므로,
     //  left 값을 여러개 넣어서 바꿔줌
     var subPosition = [-100,-80,0,-20,100];  
     
     $(document).ready(function(){
          
          $mainMenu = $(".mainMenu>a");
          $subMenu = $(".subMenu");
          
          //  처음에는 안보이게 해주기
          $subMenu.css("opacity", 0);
          $subMenu.hide();
          
          $mainMenu.bind("mouseenter", onOver);
          $mainMenu.bind("focus", onOver);
   
     //  맨 마지막 sub메뉴에서 탭키 눌렀을때, 화면 사라지게 이벤트 걸기
         $(".subMenu_list").last().children().last().bind("focusout", onOut);
     
     //  메뉴 밖으로 벗어나면 메뉴 활성 사라지게 이벤트 걸기
     $("#header_center").bind("mouseleave", onOut);
    
     });
     function onOver(){
   
     //  mainMenu들 중에서 해당 over된 mainMenu의 번호를 알아내기
         overNum=$mainMenu.index($(this));
         //alert(overNum)
        
         //  최초 세팅으로 over되기 전으로 해놓기    
         mainOut();
         subOut();
        
         //  over이벤트 걸어주기
         mainOver($(this));
         subOver($(this));
   
     }
 
     function onOut(){
   
          mainOut();
          subOut();
   
     }
     
     function mainOver(newMenu){
          
          newMenu.stop();
          //  1장의 메인버튼 이미지 사진이 hover느낌전후과 위아래로 붙어있으므로, 이것을 top을 통해서 전환 시켜줌
          newMenu.animate({"top":-25}, 300, "easeOutCubic");
          
     }
     
     function mainOut(){
          
          $mainMenu.stop();
          //  1장의 메인버튼 이미지 사진이 hover느낌전후과 위아래로 붙어있으므로, 이것을 top을 통해서 전환 시켜줌
          $mainMenu.animate({"top":0}, 300, "easeOutCubic");
     }
     
     function subOver(newMenu){
          
          newMenu.parent().next().show();
          newMenu.parent().next().stop();
          newMenu.parent().next().animate({"left":subPosition[overNum], "opacity":1}, 300, "easeOutCubic");
     }
     
     function subOut(){
          
          $subMenu.stop();
          $subMenu.animate({"left":0, "opacity":0}, 300, "easeOutCubic", function(){
              $(this).hide() //  opacity가 0인 것은 실제로 존재는 하기때문에 사라지게 하기
          })
     }
     
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>서브메뉴네비게이션_웹접근성</title>
</head>
<body>
     <div id="header_wrap">
     <div id="header_center">
          <span id="logo"><a href="#"><img src="img/logo.png" alt="" /></a></span>
          <ul id="mainMenu_list">
              <li>
                   <div class="mainMenu">
                        <a href="#"><img src="img/menu0.png" alt="" /> </a>                  
                  </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                             <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                   <div class="mainMenu">
                        <a href="#"><img src="img/menu1.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                             <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                   <div class="mainMenu">
                        <a href="#"><img src="img/menu2.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                             <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                   <div class="mainMenu">
                        <a href="#"><img src="img/menu3.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                             <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                   <div class="mainMenu">
                        <a href="#"><img src="img/menu4.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                             <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#" id="last_subMenu"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
           
           
           
            </ul>       
       
        </div>   
    </div>
</body>
</html>









반응형 슬라이드-resize, setInterval

슬라이드 기능이 화면을 줄였을때 반응형으로 작동하게 만들기








<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>슬라이드이미지 _버튼</title>
<script type="text/javascript" src="../../libs/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../../libs/jquery.easing.1.3.js"></script>
<style type="text/css">
html,body{
     height:100%;
}
body,p,ul,li{
     margin:0px; padding:0px; list-style:none;
}
body{
     background:url(../images/index_back.gif);
}
div#slide_wrap{
     width:100%; height:80%;  background:#CCC; margin-top:100px;
}
div#slide_center{
     width:80%;  margin:0px auto; position:relative; left:0px; top:0px;
}
ul#img_list{
     position:absolute; left:0px; top:0px; width:100%;
}
ul#img_list li{
     float:left;
}
ul#img_list li img{
     display:block; width:100%;
}
span#prev_btn{
     position:absolute; left:-5px; top:40%;
}
span#next_btn{
     position:absolute; right:-5px; top:40%;
}
</style>
<script type="text/javascript">
  var $slideWrap;
  var $slideCenter;
  var $imgList;
  var $imgs //  슬라이드 이미지들
  var $btnImg  //  버튼 이미지
  var imgNum //  슬라이드 이미지의 총 개수
  var imgWidth //  해당 슬라이드안의 1개 이미지의 너비
  var imgHeight //  해당 슬라이드안의 1개 이미지의 높이
  var currentPosition //  현재 움직여줄 ul의 좌표
  var myInterval //  interval 담을 변수
 
  //  반응형 jquery는 document ready가 아니라, window ready이다.
  $(window).load(function(){
          
          $slideWrap = $("#slide_wrap");
          $slideCenter = $("#slide_center");
          $imgList = $("#img_list");
          $images = $("#img_list img");
          
          //  #slide_center 아래 span 아래 img들
          $btnImg = $("#slide_center span img");
          
          resizeReset();
                    
          //  최초 세팅: 맨마지막 사진을 첫번째 사진 앞에다가 붙여주기
          $imgList.children().last().prependTo($imgList);
          
          //  자동적으로 슬라이드가 next버튼 누른 것처럼 변하게 하는 interval 만들기
          myInterval = setInterval(onNext, 2000);
          //  사진에서 마우스가 떠나면, 슬라이드 넘기는 이벤트 멈추기
          $slideWrap.bind("mouseleave", onPlay);
          //  사진에서 마우스가 올라가면, 슬라이드 넘기는 이벤트 시작 
          $slideWrap.bind("mouseenter", onStop);
          
          $("#prev_btn").bind("click", onPrev);
          $("#next_btn").bind("click", onNext);
  });
 
  function onStop(){
          
          clearInterval(myInterval);
          //alert("myInterval1: " + myInterval);
  }
 
  function onPlay(){
     
          myInterval = setInterval(onNext, 2000);         
  }
 
  function onNext(){
     
          currentPosition = $imgList.position().left;
          //  left를 이미지 사진만큼 이동해주면, 사진이 바뀌는 효과를 갖게됨
          $("#img_list:not(:animated)").animate({"left":currentPosition-imgWidth}, 300, "easeOutCubic", function(){
              
              //  맨첫번째 이미지가 이미지리스트의 맨 마지막에 이동하기
               $imgList.children().first().appendTo($imgList);
              //  사진이 이동한만큼 위치도 당겨주어야함
              $imgList.css("left", -imgWidth);
          });
  }
 
  function onPrev(){
     
          currentPosition = $imgList.position().left;
          //  left를 이미지 사진만큼 이동해주면, 사진이 바뀌는 효과를 갖게됨
          
          $("#img_list:not(:animated)").animate({"left":currentPosition-imgWidth}, 300, "easeOutCubic", function(){
              
              //  맨 마지막 이미지가 이미지리스트의 맨 처음에 이동하기
               $imgList.children().last().prependTo($imgList);
              //  사진이 이동한만큼 위치도 당겨주어야함
              $imgList.css("left", +imgWidth);
          });
  }
 
  //  window를 resize할때(화면의 크기가 재조정 될때)
  $(window).resize(function(){
          
          resizeReset();
          
  });
 
  //  반복되는 내용을 함수화 해서, 이렇게 정리해서 사용
  function resizeReset(){
     
          imgWidth = $slideCenter.innerWidth();
          //alert(imgWidth);
                    
          //  슬라이드 돌릴 이미지들의 크기를 전부 imgWidth 크기만큼 바꿔야함
          $images.css("width", imgWidth);
          
          //  반응형이기때문에 이미지 높이도 맞추어줘야함
          imgHeight=$images.height();
          
          //  슬아이드 화면 전체의 높이 세팅
          $slideCenter.css("height",imgHeight);
          
          //  슬아이드를 감싸는 전체의 높이 세팅
     $slideWrap.css("height", imgHeight);
          
          //  슬라이드 화면을 이미지의 높이만큼 바꿔야함
          $slideWrap.css("height", $images.innerHeight());
          
          //  슬라이드 버튼도 이미지를 기준으로 너비의 20분의 1로 만듦
          $btnImg.css("width", imgWidth/20);
          
          //  이미지 개수
          imgNum = $images.size();
          //alert(imgNum);
          
          //  이미지 리스트의 너비가 전체 이미지 너비 * 개수
          $imgList.css("width", imgWidth * imgNum);
                    
          //  최초 세팅: 맨마지막 사진을 첫번째 사진 앞에다가 붙여주기
          //$imgList.children().last().prependTo($imgList);
          //  최초 세팅: 첫번째 사진이 보여야하므로 위치를 사진의 너비만큼 왼쪽으로 이동
          $imgList.css("left", - imgWidth);
     
  }
   
   
</script>
</head>
<body>
     <div id="slide_wrap">
  
       <div id="slide_center">
          
          <ul id="img_list">
              <li><img src="../images/img1.gif" alt="" /></li>
                <li><img src="../images/img2.gif" alt="" /></li>
                <li><img src="../images/img3.gif" alt="" /></li>
                <li><img src="../images/img4.gif" alt="" /></li>       
          </ul>      
               
            <span id="prev_btn"><img src="../images/leftbtn.png" alt="" /></span>
            <span id="next_btn"><img src="../images/rightbtn.png" alt="" /></span>
           
           
        </div>
       
       
         
    </div>
</body>
</html>




3dept의 메뉴네비게이션 이벤트 걸기
mouseenter, mouseleave

tip
li부모태그에 mouseover했다가, 자식태그로 마우스가 이동하면, mouseout으로 인식해버림.
이것을 보완할 이벤트
mouseenter
mouseleave
자식태그로 이동해도 부모태그에서 mouseout한것으로 인식안함




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>slideNavi</title>
<script type="text/javascript" src="../libs/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../libs/jquery.easing.1.3.js"></script>
<style type="text/css">
*{
       margin:0;
       padding:0;
       list-style-type:none;
}
#container{
       margin:100px auto;
       width:537px;
}
ul.menu li{
       float:left;
       width:179px;
       height:48px;
       background:url("images/btn.png");
       position:relative;
}
* html ul.menu li{
       display:inline;
       zoom:1;
}
*+html ul.menu li{
       display:inline;
       zoom:1;
}
ul.menu li a{
       display:block;
       width:100%;
       height:100%;
       line-height:48px;
       text-indent:30px;
       font-weight:bold;
       color:#CFDFB5;
       text-decoration:none;
       position:relative;
}
ul.menu li a:hover{
       background:url("images/btn_over.png");
}
ul.sub{
       display:none;
}
* html ul.sub{
       zoom:1;
       position:relative;
}
*+html ul.sub{
       zoom:1;
       position:relative;
}
ul.sub li{
       float:none;
}
ul.sub li ul.sub{
       position:absolute;
       /* 두번째 서브메뉴는 부모의 위치를 기준으로 잡아야 함 */
       left:179px;
       top:0;
}
ul.menu{
       zoom:1;
}
ul.menu:after {
       height:0;
       visibility:hidden;
       content:".";
       display:block;
       clear:both;
}
</style>
<script type="text/javascript">
       var $mainMenu //  메뉴네비게이션들 전부 담을 변수
       
       $(document).ready(function(){
              
              //  메뉴네비게이션들 전부 담을 변수
              $mainMenu = $(".menu li");
              
              //  hovertl slidedown 이벤트 걸기
              //  tip
              /* 
               *
               * li부모태그에 mouseover했다가, 자식태그로 마우스가 이동하면, mouseout으로 인식해버림.
               * 이것을 보완할 이벤트: mouseenter, mouseleave
               * 자식태그로 이동해도 부모태그에서 mouseout한것으로 인식안함
               */
              
              $mainMenu.bind("mouseenter", onOver);
              
              $mainMenu.bind("mouseleave", onOut);
              
       });
       
       function onOver(){
              
              //  추가 tip :not(:animated)는 이벤트의 중복을 막기위해서
              $(this).children(".sub:not(:animated)").slideDown(300, "easeOutExpo");
       }
       
       function onOut(){
              
              //  추가 tip :not(:animated)는 이벤트의 중복을 막기위해서
              $(this).children(".sub:not(:animated)").slideUp(300, "easeOutExpo");
       }
</script>            
</style>
       </head>
       <body>
              <div id="container">
              <ul class="menu">
                     <li><a href="#">메뉴A</a>
                           <ul class="sub">
                                  <li><a href="#">서브메뉴A</a></li>
                                  <li><a href="#">서브메뉴A</a></li>
                                  <li><a href="#">서브메뉴A</a><!--
                                         --><ul class="sub">
                                                <li><a href="#">서브메뉴A2</a></li>
                                                <li><a href="#">서브메뉴A2</a></li>
                                                <li><a href="#">서브메뉴A2</a></li>
                                         </ul><!--
                                  --></li>
                           </ul>
                     </li>
                     <li><a href="#">메뉴B</a>
                           <ul class="sub">
                                  <li><a href="#">서브메뉴B</a></li>
                                  <li><a href="#">서브메뉴B</a>
                                         <ul class="sub">
                                                <li><a href="#">서브메뉴B2</a></li>
                                                <li><a href="#">서브메뉴B2</a></li>
                                                <li><a href="#">서브메뉴B2</a>
                                                       <ul class="sub">
                                                              <li><a href="#">서브메뉴B3</a></li>
                                                              <li><a href="#">서브메뉴B3</a></li>
                                                              <li><a href="#">서브메뉴B3</a></li>
                                                       </ul>
                                                </li>
                                         </ul>
                                  </li>
                                  <li><a href="#">서브메뉴B</a></li>
                           </ul>
                     </li>
                     <li><a href="#">메뉴C</a>
                           <ul class="sub">
                                  <li><a href="#">서브메뉴B</a>
                                         <ul class="sub">
                                                <li><a href="#">서브메뉴C2</a></li>
                                                <li><a href="#">서브메뉴C2</a></li>
                                                <li><a href="#">서브메뉴C2</a></li>
                                         </ul>
                                  </li>
                                  <li><a href="#">서브메뉴B</a></li>
                                  <li><a href="#">서브메뉴B</a></li>
                           </ul>
                     </li>
              </ul>
              </div>
              
       </body>
</html>





위의 mouseenter, mouseleave의 예제 샘플



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>slideNavi</title>
<script type="text/javascript" src="../libs/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../libs/jquery.easing.1.3.js"></script>
<style type="text/css">
div#main{
       width: 200px;
       height:200px;
       background:red;
       position:absolute;
       left:200px;
       top:200px;
}
div#sub{
       width:100px;
       height:100px;
       margin: 50px auto;
       background:blue;
}
</style>
<script type="text/javascript">
       $(document).ready(function(){
              
              //  최초 mouse가 over, out되고, 자식태그로 이동시 mouseover/mouseout은 over/out으로 보지만,
              //  mouseenter/mouseleave는 over/out으로 보지 않음.
              $("#main").bind("mouseout", onOut);
       });
       
       function onOut(){
              
              alert('마우스가 아웃되었습니다.');
       }
</script>            
</style>
       </head>
       <body>
              <div id="main">
                     <div id="sub">
                           
                     </div>
              </div>
              
       </body>
</html>





메뉴네비게이션 이미지 이용 애니메이션 걸기
아래의 버튼위에 마우스 올리고 내릴때마다 1장 이미지 png를
overflow:hidden
position: relative
인 상태에서 
top의 위치를 바꿔서, 색상이 변화가 일어나게 해줌

tip
빠른 이벤트변화이므로, 중복을 막기위한 animation 중지는 stop을 이용



아래 png 파일들






<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>animationNavi</title>
<script type="text/javascript" src="../libs/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../libs/jquery.easing.1.3.js"></script>
<style type="text/css">
              *{
                     margin:0;
                     padding:0;
              }
              body{
                     background:url(images/index_back.gif);
              }
              ul.menu{                   
                     background:url(images/bg.jpg) repeat-x;
                     width:700px;
                     height:50px;
                     position:absolute;
                     left:50px;
                     top:50px;
                     overflow:hidden;
                     padding-left:80px;
                     border:solid 1px #999;
                     border-radius:10px;
                     box-shadow:2px 2px 2px #333;
              }
              
              ul.menu li{
                     margin-top:10px;                  
                     overflow:hidden;
                     width:120px;
                     height:30px;  
                     float:left;
                     cursor:pointer;
              }
              
              ul.menu li div{            
                     position:relative;
              }
                     
</style>
       
<script type="text/javascript">
       
       var $mainMenu;
       
       $(document).ready(function(){
              
              $mainMenu = $(".menu").children();
              
              $mainMenu.bind("mouseenter", onOver);
              $mainMenu.bind("mouseleave", onOut);
       });
       
       function onOver(){
              //  tip: 이런건 반응이 빠르기때문에, stop으로 이벤트 컨트롤
              $(this).children().stop();
              
              //  해당 mouseover된 li태그의 자식인 div의 위치를 바꿔주기: top
              $(this).children().animate({"top":-30}, 200, "easeOutExpo");
       }
       
       function onOut(){
              //  tip: 이런건 반응이 빠르기때문에, stop으로 이벤트 컨트롤
              $(this).children().stop();
              
              //  해당 mouseover된 li태그의 자식인 div의 위치를 바꿔주기: top
              $(this).children().animate({"top":0}, 200, "easeOutExpo");
       }
       
       
   
       
              
</script>
</head>
       <body>
              <ul class="menu">
                     <li>
                           <div><img src="images/menu_1.png"></div>
                     </li>
                     <li>
                           <div><img src="images/menu_2.png"></div>
                     </li>
                     <li>
                           <div><img src="images/menu_3.png"></div>
                     </li>
                     <li>
                           <div><img src="images/menu_4.png"></div>
                     </li>
                     <li>
                           <div><img src="images/menu_5.png"></div>
                     </li>
              </ul>
       </body>
</html>






아코디언 메뉴-배열





작동원리
각메뉴에 마우스를 올리면 해당메뉴의 높이를 늘려서 안에있는 이미지를  보여주면서
그안에있는 이미지는 동시 올려주어서 타이틀을 안보이게 해준다.

해당 menu_item > menu_item_content > image 2개가 있음 
over하게되면, 메뉴의 높이가 커짐

.accordion_menu .menu_item{
       position:relative;
       height:30px;  
       overflow:hidden;
       cursor:pointer;
}



배열
어떤것은 서브메뉴가 많을 수도 있고, 적을 수도 있고, 없을수도 있음.
즉, 규칙, 사이즈들을 찾기 어려울때 어떻게 해야할까?
이럴때는 배열을 이용한다.

이때, 중요한 함수
index(): 순번구하는 함수


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>accordionMenu</title>
<script type="text/javascript" src="../libs/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../libs/jquery.easing.1.3.js"></script>
<style>
@charset "utf-8";
/* CSS Document */
body{
       background:url(../images/index_back.gif);
}
.accordion_menu{
       position:absolute;
       left:100px;
       top:50px;     
       width:300px;
       padding:20px 0;
       
       border-radius:10px;
       box-shadow:2px 2px 2px #333;      
       background-color:#eeeeee;
}
.accordion_menu .menu_item{
       position:relative;
       height:30px;  
       overflow:hidden;
       cursor:pointer;
}
.accordion_menu .menu_item  .menu_item_content{
       position:absolute;
}
.accordion_menu .menu_item  .menu_item_content img{
       display:block;
}
       
</style>
<script type="text/javascript">
       /*
        * 작동원리
              각메뉴에 마우스를 올리면 해당메뉴의 높이를 늘려서 안에있는 이미지를 보여주면서
              그안에있는 이미지는 동시 올려주어서 타이틀을 안보이게 해준다.    
       */
       
       /*
        * 다행이도 레퍼런스로 준비된 menu_1_over.png ~ menu_4_over.png의 사진 높이는 모두 113px이지만,
        * 만약에 이런 이미지 사이즈들이 다를 경우에는 어떻게 해야할까?
        * 어떤것은 서브메뉴가 많을 수도 있고, 적을 수도 있고, 없을수도 있음.
        * 즉, 규칙, 사이즈들을 찾기 어려울때 어떻게 해야할까?
        * 이럴때는 배열을 이용한다.
        */
       
       var $mainMenu;
       //var openHeight = 120;
       var closeHeight = 30;
       
       var openArray=[120, 240, 30, 200, 400] //  순서에 맞게 높이값을 넣은 배열
       var overNum // 마우스 올렸을때 해당 태그의 순번
       
       $(document).ready(function(){
              
              $mainMenu = $(".menu_item");
              
              $mainMenu.bind("mouseenter", onOver);
              $mainMenu.bind("mouseleave", onOut);
       });
       
       function onOver(){
              
              overNum = $mainMenu.index($(this)) //  마우스를 올렸을때 해당 태그의 순번
              //alert(overNum);
              
              //  <div class="menu_item_content">의 높이를 늘려주기
              $(this).stop();
              
              //  이미지들의 크기가 일정할 경우 하는 방법
              //$(this).animate({"height": openHeight}, 300, "easeOutExpo");
              
              //  이미지들으 크기가 다를경우 배열을 이용해서 하는 방법
              $(this).animate({"height": openArray[overNum]}, 300, "easeOutExpo");
              
              //  <div class="menu_item_content"> 아래에 있는 image태그들의 top을 올려주기
              $(this).children().stop();
              $(this).children().animate({"top":-closeHeight},300, "easeOutExpo");
       }
       
       function onOut(){
              
              //  <div class="menu_item_content">의 높이를 줄여주기
              $(this).stop();
              $(this).animate({"height": 30}, 300, "easeOutExpo");
              
              //  <div class="menu_item_content"> 아래에 있는 image태그들의 top을 내려주기
              $(this).children().stop();
              $(this).children().animate({"top":0},300, "easeOutExpo");
       }
</script>
</head>
<body>
       <div class="accordion_menu">
              <div class="menu_item">
                     <div class="menu_item_content">
                           <img src="images/menu_1.png">
                           <img src="images/menu_1_over.png" >
                     </div>
              </div>
              
              <div class="menu_item">
                     <div class="menu_item_content">   
                           <img src="images/menu_2.png">
                           <img src="images/menu_2_over.png" >
                     </div>
              </div>
              
              <div class="menu_item">
                     <div class="menu_item_content">
                           <img src="images/menu_3.png">
                           <img src="images/menu_3_over.png" >
                     </div>
              </div>
              
              <div class="menu_item">
                     <div class="menu_item_content">
                           <img src="images/menu_4.png">
                           <img src="images/menu_4_over.png" >
                     </div>
              </div>
              <div class="menu_item">
                     <div class="menu_item_content">
                           <img src="images/menu_5.png">
                           <img src="images/menu_5_over.png" >
                     </div>
              </div>
              
       </div>
</body>
</html>





2depth 메뉴 네비게이션-동시에 4가지이벤트


레퍼런스 이미지 메인메뉴 파일들png


레퍼런스 이미지 서브메뉴 파일들png



핵심
-탭키로 작동이 되어야함.
-동시에 4가지 모션을 한다.
메인메뉴가 들어가고 나가고
서브메뉴가 들어가고 나가고

mainMenu는 자식태그인 a를 올렸다가 내리는 것    
subMenu는 자식태그인 li를 올렸다가 내리는 것

구조
    <div class="mainMenu">
        <a href="#"><img src="img/menu0.png" alt="" /> </a>                 
    </div>
    <div class="subMenu">
        <ul class="subMenu_list">
            <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
        </ul>                
    </div>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<style type="text/css">
body,p,ul,li{
      margin:0px; padding:0px; list-style:none;
}
body{
      background:url(img/index_back.gif);
}
div#header_wrap{
      width:100%; height:122px; background:url(img/header_bg.gif) repeat-x;
}
div#header_center{
      width:980px; height:122px; margin:0px auto; position:relative; left:0px; top:0px;
      /* 반응형일경우는 해상도가 980px 보다 작을때는 메뉴구조를 새로 바꾸는 것이 좋다 ( 예) 네비게이션 전체를 사라지게 하고 메뉴버튼으로 보이게 */
}
      
span#logo{
      position:absolute; left:0px; top:20px;
}
ul#mainMenu_list>li{
      float:left; margin-right:50px; position:relative; left:0px; top:0px;
}
ul#mainMenu_list{
      position:absolute; left:250px; top:30px;
}
div.mainMenu{
      height:20px; overflow:hidden; position:relative; left:0px; top:0px;
}
div.mainMenu>a{
      position:relative; left:0px; top:0px; /* a테그를 움직이게 하므로 반드시 position 값이 존재해야 한다. */
}
div.subMenu{
      width:300px; position:absolute; left:0px; top:65px;
}
ul.subMenu_list>li{
      float:left; margin-right:10px;
}
</style>
<script type="text/javascript">
      var $mainMenu;
      var $subMenu;
      
      $(document).ready(function(){
            
            $mainMenu = $(".mainMenu").children();
            
            $subMenu = $(".subMenu");
            
            $subMenu.css("opacity", 0) //  최초에 subMenu들은 안보여야함.
            $subMenu.hide() //  최초에 subMenu들은 안보여야함.
            
            $mainMenu.bind("mouseenter", onOver);
      });
      
      function onOver(){
            
            //  기본: 처음에는 모든 $mainMenu 사라지게 하기
            $mainMenu.stop();
            $mainMenu.animate({"top":0}, 200, "easeOutExpo");
            
            //  기본: 처음에는 모든 $subMenu 사라지게 하기
            $subMenu.stop();
            $subMenu.animate({"left":0, "opacity":0}, 200, "easeOutExpo", function(){
                  
                  //  opacity가 0이지만, 존재하기때문에 없애주어야함.
                  $(this).hide();
            });
            
            $(this).stop() //  기존의 이벤트가 있다면 멈춰주기
            
            //  마우스가 올라간 $MainMenu의 top 속성을 위로 올려주기
            $(this).animate({"top":-25}, 200, "easeOutExpo");
            
            //  셀럭터 설명
            //  $(this).parent() => 해당 mainMenu
            //  $(this).parent().next() => 해당 subMenu
            $(this).parent().next().show();
            $(this).parent().next().stop();
            $(this).parent().next().animate({"left":-30, "opacity":1}, 200, "easeOutExpo", function(){
                  
            });
            
      }
      
      
      
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>서브메뉴네비게이션_웹접근성</title>
</head>
<body>
      <div id="header_wrap">
      <div id="header_center">
            <span id="logo"><a href="#"><img src="img/logo.png" alt="" /></a></span>
            <ul id="mainMenu_list">
                  <li>
               
                  <div class="mainMenu">
                        <a href="#"><img src="img/menu0.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                              <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                   
                </li>
               
                <li>
                  <div class="mainMenu">
                        <a href="#"><img src="img/menu1.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                              <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                  <div class="mainMenu">
                        <a href="#"><img src="img/menu2.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                              <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                  <div class="mainMenu">
                        <a href="#"><img src="img/menu3.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                              <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
                <li>
                  <div class="mainMenu">
                        <a href="#"><img src="img/menu4.png" alt="" /> </a>                  
                    </div>
                    <div class="subMenu">
                        <ul class="subMenu_list">
                              <li><a href="#"><img src="img/love_01_off.png" alt="" /></a></li>
                            <li><a href="#"><img src="img/love_02_off.png" alt="" /></a></li>
                            <li><a href="#" id="last_subMenu"><img src="img/love_03_off.png" alt="" /></a></li>                   
                        </ul>                
                    </div>       
                </li>
               
           
           
           
            </ul>       
       
        </div>   
    </div>
    <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />
</body>
</html>










+ Recent posts