모달윈도우 modal window-태그자동생성
핵심 point
특정 class에 css를 짜둔다.
특정태그를 변수에 담아서 생성하고, append, html 등으로 붙여서 화면에 뛰운다.


클릭전 화면






클릭후 화면





<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
      <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <title>modalWindow</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{
      margin:0;
      padding:0;
      height:100%;
}
h1{
      margin:20px 50px;
      font-size:large;
      border-left:10px solid #7BAEB5;
      border-bottom:1px solid #7BAEB5;
      padding:10px;
      width:600px;
}
ul{
      width:700px;
}
ul li{
      float:left;
      list-style-type:none;
}
ul li img{
      border:0;
      margin:10px;
}
div#glayLayer{
      display:none;
      position:fixed;
      left:0;
      top:0;
      height:100%;
      width:100%;
      background:black;
      opacity:0;
}
* html div#glayLayer{
      position:absolute;
}
#overLayer{
      display:none;
      position: fixed;
      top:50%;
      left:50%;
      margin-top:-244px;
      margin-left:-325px;
}
* html #overLayer{
      position: absolute;
}
</style>       
<script type="text/javascript">
      $(document).ready(function(e) {
            
            $("<div id='glayLayer'></div><div id='overLayer'></div>").appendTo($("body"))
            // body 마지막에 배경을 가려주는 glayLayer 와 이미지를 보여주는 overLayer 를 생성  ( 배경색이나 각속성은 CSS스타일에서 미리적용 )
            // 미리코드에 넣어두는것보다는 스크립트로 생성 ( 웹접근성 준수 )
            
            $("a.modal").bind("click", onClick); // 섬네일이미지 ( 클래스이름 .modal) 를 클릭하면 onClick 함수실행
            $("#overLayer").bind("click", onRemove);
            // 큰이미지를 보여주는 overLayer 를 다시클릭하면 사라지게 해주는 onRemove 함수실행             
            
    });     
      
      function onClick(){
            $("#glayLayer").show(); // glayLayer를 보여지게해서 배경을 흐리게한다.
            $("#glayLayer").animate({opacity:0.9},300,"easeOutCubic");
            $("#overLayer").show(); // 큰이미지를 보여주는 overLayer 도 보여준다.
            $("#overLayer").html("<img src="+$(this).attr("href")+">")
            // 보여준 overLayer에 클릭한 a테그의 경로를 얻어와서 해당되는 큰이미지를 넣어준다.     
            return false;      // a링크가 적용안되도록
      }
      function onRemove(){
            $("#overLayer").hide(); // 기존 overLayer 를 사라지게 해준다.
            $("#glayLayer").animate({opacity:0},300,"easeOutCubic", function(){
                  $("#glayLayer").hide(); // 기존 glayLayer의 투명도를 0으로 에니메이션 해주고 끝나면 사라지게 한다.
                  // 주의) 사라지게 하지않으면 다시 섬네일이미지가 클릭적용이 안된다 .( glayLayer 가 가려서 )
            })
            
      }
      
      
      
      
</script>
      </head>
      <body>            
            <ul>
                  <li><a href="images/photo1.jpg" class="modal"><img src="images/photo1_thum.jpg" alt=""  /></a></li>
                  <li><a href="images/photo2.jpg" class="modal"><img src="images/photo2_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo3.jpg" class="modal"><img src="images/photo3_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo4.jpg" class="modal"><img src="images/photo4_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo5.jpg" class="modal"><img src="images/photo5_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo6.jpg" class="modal"><img src="images/photo6_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo7.jpg" class="modal"><img src="images/photo7_thum.jpg" alt="" /></a></li>
                  <li><a href="images/photo8.jpg" class="modal"><img src="images/photo8_thum.jpg" alt="" /></a></li>
            </ul>
            <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>







toolTip 설명화면-function(e), setTimeout, clearTimeout

핵심 point
마우스를 특정 링크 위에 갖다되면, tooltip(설명화면)이 마우스 옆에 나타난다.
시간이 지나면 자동으로 사라진다.

핵심 기술
function(e){
    e.pageX  //  이렇게 쓰이며, 이벤트가 발생한 x 좌표를 나타냄
    e.pageY  //  이렇게 쓰이며, 이벤트가 발생한 y 좌표를 나타냄
}

setTimeout  :  몇초동안 이벤트가 지속됨

clearTimeout  :  Timeout setting한것을 제거해줌


최초화면




마우스 올린 화면





<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
      <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <title>tooltip</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>
            <script type="text/javascript">
                  
                  var $sample;
                  var $tooltip;
                  var timer;
                  
                  $(document).ready(function(e) {
                        
                        $sample=$("#sample");
                        $tooltip=$("div.tooltip");
                        $tooltip.css({opacity:0, display:"none"})// 툴팁박스의 초기값을 안보이게 설정           
                        
                        $sample.bind("mouseenter",onOver);
                        $sample.bind("mousemove",onMove);
                        $sample.bind("mouseleave",onOut);                                 
              
            });
            
                  function onOver(e){
                        //alert(e.pageX) // 마우스의X좌표를 출력해본다.
                        $tooltip.show(); // 툴팁을 보여주게
                        $tooltip.css({left:e.pageX+10, top:e.pageY+10}); // 툴팁의좌표를 마우스의 좌표의 10간격을 두고 지정       
                        // 중요) e.pageX : 페이지에서(body)부터의 마우스 x좌표
                        // 주의) 함수에서 e (이벤트를 반드시 붙여야 e.pageX,  e.pageY 를 인식 )
                        $tooltip.stop();
                        $tooltip.animate({opacity:0.8},500,"easeOutCubic"); // 툴팁의 투명도를 0.8 로 에니메이션
                        timer=setTimeout(onOut,3000); // 중요) setTimerout() 함수 : 일정한시간후에 함수를 실행   
                  }
                  function onMove(e){
                        $tooltip.css({left:e.pageX+10, top:e.pageY+10});      
                        // 마우스를 움직일때도 툴팁의좌표를 마우스의 좌표의 10간격을 두고 따라다니게 지정  
                  }
                  function onOut(){
                        clearTimeout(timer); // 진행되고있는 setTimeout을 멈춘다.
                        $tooltip.stop();
                        $tooltip.animate({opacity:0},500,"easeOutCubic", function(){
                              $tooltip.hide();                          
                        });
                        // 마우스가 아웃되면 툴팁의 투명도를 0 으로에니메니션 주고 사라지게함
                  }
                  
                  
                  
            </script>
            <style type="text/css">
body{
      background:#777;
      color:white;
}
a{
      color:#00CCFF; display:block; float:left; margin-right:5px;
}
h1{
      width:80%;
      margin:10px auto;
}
p{
      margin:10px 10%; text-align:justify;
}
div.tooltip{
      position:absolute;
      line-height:1.5;
      color:white;
      width:200px;
      background:#FF9900;
      border:2px solid white;
      padding:1em;
      font-size:small;
      
}
            </style>
      </head>
      <body>
            <h1>tooltip sample</h1>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sed quam ac risus auctor pulvinar. Nullam tellus lorem, volutpat sit amet eleifend quis, semper pellentesque nunc. Aliquam eu tortor nec nisl suscipit vehicula et eu sapien. Maecenas at pretium diam. Proin non luctus diam. Pellentesque risus nisi, scelerisque eu ultricies quis, <a href="#" id="sample">tooltip sample</a> luctus rhoncus dui. Proin pharetra aliquet justo, vel scelerisque lorem scelerisque eget. Praesent pharetra magna sit amet diam sagittis ac dictum nunc imperdiet. Pellentesque posuere vulputate fermentum. Vivamus fringilla commodo elit, in ornare libero imperdiet sed.</p>
            <p>Proin adipiscing faucibus felis eget auctor. Duis sed ante turpis. Cras sit amet euismod est. Vivamus tempus nibh sed odio pulvinar nec varius leo dignissim. Morbi nunc dui, rutrum vitae porttitor quis, semper in augue. Maecenas feugiat neque sit amet nisl euismod in imperdiet lorem iaculis. Suspendisse a convallis augue. Fusce faucibus sollicitudin dui, lobortis semper lacus elementum et. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis ullamcorper ipsum sit amet libero aliquet feugiat. Nulla facilisi. Cras tincidunt convallis felis, sed vulputate lorem blandit eget. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque tortor leo, dapibus et vulputate in, laoreet sit amet odio. Nulla facilisi. Maecenas sit amet purus eu magna pellentesque sodales. In in velit sit amet sapien pharetra placerat non quis ante. Curabitur nisl tellus, aliquet quis facilisis non, congue eu lectus. Aenean lacinia, magna ut mattis aliquet, nisl augue posuere massa, ac bibendum nisi quam eu est.</p>
            <p>Morbi faucibus condimentum dolor sed tristique. Suspendisse vel diam at purus sagittis pretium. Nulla dapibus arcu metus. Sed vulputate adipiscing dapibus. Nullam interdum turpis vitae massa venenatis pulvinar. Nulla commodo convallis augue ullamcorper facilisis. Nullam viverra sollicitudin mauris eget euismod. Suspendisse nec orci felis, non viverra quam. Nunc blandit neque arcu. Aenean dignissim auctor tortor, non hendrerit nisi semper sit amet. Donec vel quam sed arcu dignissim tempus. Sed lacus erat, cursus dapibus porta non, suscipit in odio. Morbi consequat condimentum lorem, dignissim interdum dui condimentum ac. Integer eros diam, lobortis in molestie vitae, ullamcorper eget enim. Pellentesque vel velit odio, non tincidunt turpis. Ut suscipit convallis odio, rhoncus vehicula dolor dignissim in. Phasellus consequat, turpis ut imperdiet tempus, turpis neque bibendum risus, non tempor nisl eros a risus. Aenean mi libero, placerat sed suscipit ut, tincidunt a mi.</p>
       
        <div class="tooltip">이것은ASCII.jp<br /><strong>Web제작현장에서 사용한 jQuery<br />UI디자인 입문</strong><br />의 샘플 프로그램입니다.</div>
      </body>
</html>





드래그 팝업 dragPopup - mousedown, mouseup, mousemove


요즘은 팝업창을 div로 해서 많이 구현함.
drag해서 팝업창이 이동하고 종료버튼 누르면 사라지게 하기





<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
      <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <title>dragPopup</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>       
            <script type="text/javascript">
                  
                  var $popup;
                  var $dragBar;
                  var downX;
                  var downY;
                  
                  $(document).ready(function(e) {
               
                        $popup=$("#floatWindow");
                        $dragBar=$("#floatWindow dt");
                        
                        $popup.css("opacity", 0);
                        $popup.hide();    
                        
                        $(".open").bind("click", onShow);
                        $(".close").bind("click", onHide);                    
                        
                        $dragBar.bind("mousedown", onDown);
                        $(document).bind("mouseup", onStop);            
                        
            });
                  
                  function onShow(){
                        
                        $popup.show();
                        $popup.animate({"opacity":1}, 300, "easeOutCubic");              
                        
                  }
                  
                  function onHide(){                        
                        
                        $popup.animate({"opacity":0}, 300, "easeOutCubic",function(){
                              
                              $(this).hide();
                              
                        });
                        
                  }
                  
                  function onDown(e){
                        
                        downX=e.pageX-$popup.position().left
                        downY=e.pageY-$popup.position().top
                        
                        //  누른다음에 이동해야되므로, 이벤트를 onDown()임의 함수 내에 걸어둚.
                        $(document).bind("mousemove", onMove);
                        
                  }
                  
                  function onMove(e){
                        
                        //  마우스가 이동한 좌표에 최초 마우스가 클릭된 지점의 값을 빼주어야지, 최초클릭된 부분의 좌표가 그대로 반영되어 이동됨.
                        $popup.css({"left":e.pageX-downX, "top":e.pageY-downY})
                                                
                  }
                  
                  function onStop(){
                        
                        $(document).unbind("mousemove", onMove);
                        
                  }
                  
            </script>
            <style type="text/css">
#floatWindow{
      
      position:absolute;
      width:500px;
      height:400px;
      top:100px;
      left:100px;
      
}
#floatWindow a.close{
      position:absolute;
      right:20px;
      top:1px;
}
#floatWindow a.close img{
      border:none;
}
#floatWindow dl{
      width:100%;
      height:100%;
      background:url("./images/floatWindow.png");
      margin:0;
}
#floatWindow dl dt{
      height:25px;
      line-height:25px;
      text-indent:1em;
      color:white;
      font-weight:bold;
      cursor:move;
}
#floatWindow dl dd{
      margin:0;
      padding:2em;
      line-height:1.5;
      text-indent:1em;
}
            </style>
      </head>
      <body>
            
            <a class="open">플로우팅 윈도우 표시</a>
            
            <div id="floatWindow">
                  <a class="close"><img src="./images/close.png" alt="닫힘" /></a>
                  <dl>
                        <dt>jQuery를 이용하여 플로우팅 윈도우 만들기</dt>
                        <dd>이번에는 jQuery를 이용하여 플로우팅 윈도우..(중략)...윈도우를 표시할 수 있습니다.</dd>
                  </dl>
            </div>
      </body>
</html>




슬라이드퀵메뉴 slideQuickMenu - scroll, resize, scrollTop

스크롤하면, 슬라이드효과로 퀵메뉴가 화면의 특정 좌표에 계속 붙어 있음









<!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>slideQuickMenu</title>
<div id="quick_menu" style="position:absolute; width:75px; height:235px;">
    <img src="images/quick.gif" alt="" />
</div>
<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>
<script type="text/javascript">
      
      var $quickMenu;
      var topPosition=300;
      var leftPosition=100;
      
      $(document).ready(function(e) {
       
            $quickMenu=$("#quick_menu");
            
            $quickMenu.css({"left":$(document).innerWidth()/2+leftPosition, "top":topPosition});
            
            $(window).bind("scroll", onScroll);
            $(window).bind("resize", onResize);
            
            
    });
      
      function onScroll(){
            
            $quickMenu.stop();
            $quickMenu.animate({"top":$(document).scrollTop()+topPosition}, 1000, "easeOutCubic");
            
            
      }
      
      function onResize(){
            
            $quickMenu.css({"left":$(document).innerWidth()/2+leftPosition, "top":topPosition});
            
      }
      
      
            
 </script>
</head>
<body>
<div id="wrap" style="width:70%;">
<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 />
</div>
</body>
</html>







Dot도트 모양의 슬라이드 반응형 - border-radius




<!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%; height:100%; margin:0px auto; position:relative; left:0px; top:0px;
      overflow:hidden;
      
}
ul#img_list{
      position:absolute; left:0px; top:0px;
}
ul#img_list li{
      float:left;
}
ul#img_list li img{
      display:block;
}
ul#dot_list{
      position:absolute; left:50%; bottom:3%;
}
ul#dot_list li{
      width:30px; height:30px; float:left; margin-right:10px; border-radius:15px; background:#FFF;
}
</style>
<script type="text/javascript">
      var $slideWrap;
      var $slideCenter;
      var $imgList;
      var $images;
      var $dotList;
      var $dot //  도트
      var imgWidth //  이미지의 너비
      var imgNum //  이미지의 총개수
      var overNum = 0 //  선택된 도트의 번호
      var myInterval;
      var intervalPlay = false //  false일때 자동넘김 멈춤  true일때 자동넘김 시작
            
      //  반응형이기때문에, $(document).ready 가 아니라
      //  $(window).load 임
      $(window).load(function(){
            
            $slideWrap = $("#slide_wrap");
            $slideCenter = $("#slide_center");
            $imgList = $("#img_list");
            $images = $("#img_list img");
            $dotList = $("#dot_list");
            $dot = $("#dot_list li");
            imgNum = $images.size();
            
            //  alert(imgNum);
            
            imgReset();
            
            //  첫번째 보여지는 이미지 클릭된 것처럼 보여지기 위해서 background-color을 빨간색으로 나타내기
            showDot(0);
            
            //  도트 슬라이드 작동원리
            //  선택된 도트의 개수만큼 이미지list의 left 좌표가 너비*개수 만큼 이동해야함
            $dot.bind("click", onOver);
            
            myInterval = setInterval(onPlay, 1000);
            
            $slideWrap.bind("mouseleave", onInterval);
            
      });
      
      //  반응형: 화면 사이즈가 변할때마다 작동함
      $(window).resize(function(){
            
            imgReset();
            
            //  리사이징 할때도, 선택된 dot에 따라 영향을 받아 left 값이 바뀌어야함
            $imgList.css("left", -imgWidth*overNum);
            
      });
      
      //  선택된 dot의 색은 빨간색으로 그이외의 dot는 흰색으로 나타내게 하기
      function showDot(newMenu){
            
            //  전 dot의 색을 흰색으로 바꾸기
            $dot.css("background-color", "white");
            //  선택된 dot만 빨간색으로 보이기
            $dot.eq(newMenu).css("background-color", "red");
            
      }
      
      //  리사이즈 할때마다 반응형처럼 보여주기 위한 초기 세팅작업들
      function imgReset(){
            
            imgWidth = $slideCenter.innerWidth();
            //  alert(imgWidth);
            
            //  모든 이미지들의 너비를 slideCenter의 innerWidth로 통일
            $images.css("width", imgWidth);
            
            //  슬라이드랩의 높이를 이미지들의 높이와 같게 하기
            $slideWrap.css("height", $images.innerHeight());
            
            //  dot tip!
            //  dot모양을 표현해주기 위해서, 이미지의 40분의 1로 나타내는 걸로 상정하기
            //  border-radius는 dot의 절반 크기로 주어야만 동그라미 모양이 됨
            $dot.css({"width": (imgWidth/40), "height": (imgWidth/40), "border-radius": (imgWidth/40)/2});
            
            //  imgList의 크기를 이미지 너비 * 이미지의 개수 만큼 넓혀주기
            $imgList.css("width", imgWidth * imgNum);
      }
      
      //  도트가 선택되면 작동할 이벤트 정의함수
      function onOver(){
                  
            overNum = $dot.index($(this));
            //alert(overNum);
            
            //  슬라이드가 자연스럽게 넘어가는 이벤트
            onSlide(overNum);
            
            //  interval 작동멈추게 하기
            clearInterval(myInterval);
            intervalPlay = true;
      };
      
      //  슬라이드되는 효과이벤트를 정의하는 함수
      function onSlide(newNum){
            
            $imgList.animate({"left": - imgWidth*newNum}, 500, "easeOutExpo");
            
            //  도트도 선택된게 빨간색으로 바뀌게 해야함
            showDot(newNum);
      }
      
      function onPlay(){
            
            overNum = overNum + 1;
            
            if(overNum >= imgNum){
                  
                  overNum = 0;
            }
            
            onSlide(overNum);
      }
      function onInterval(){
            
            if(intervalPlay){
                  myInterval = setInterval(onPlay, 1000);
                  intervalPlay = false;
            }
            
      }
</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>      
               
                  <ul id="dot_list">
                  <li></li>
                    <li></li>
                    <li></li>
                    <li></li>          
                </ul>           
           
        </div>
       
        <span id="prev_btn">이전보기</span>
        <span id="next_btn">다음보기</span>
         
    </div>

</body>
</html>







TabMenu 탭메뉴-addClass, removeClass

주요 핵심 Point
특정 class에 css를 미리 작성해두고, 스크립트로 클래스명을 추가, 제거하며 화면상에 바뀌는 효과를 가진다.


tab 이미지




tab_selected 이미지





탭메뉴 실행화면




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
      <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <title>tabMenu</title>
            <script type="text/javascript" src="../libs/jquery-1.7.1.min.js"></script>
            <script type="text/javascript">
                  
                  var $tab;
            
                  $(document).ready(function(e) {
                        
                $("ul.panel li").hide(); // 모든보여질내용을 안보이게 초기값적용
                        $("#tab1").show(); // 처음보여줄내용만 보이게 적용
                        
                        $tab=$("ul.tab li a");                    
                        $tab.bind("click",onClick);               
            });
                  
                  function onClick(){                       
                        $tab.removeClass("selected");
                        // 기존에활성된탭메뉴를 비활성화배경이미지처리와 텍스트처리 시킴 ( 클래스에 속성을 미리지정하고 클래스를 변경하여 스타일 지정 )
                        $(this).addClass("selected"); // 클릭한 탭메뉴만 활성화배경이미지 처리와 텍스트 칼라변경                       
                        // 중요) 클래스의 background-position 속성을 미리다르게 지정해놓고 클릭할때 클래스를 변경하면
                        //배경이미지 뿐만아니라 배경이미지에 타이틀도 포함시켜 바꿀수있다. (현제는 타이틀을 텍스트로 처리 )                
                        
                        $("ul.panel li").hide(); // 기존활성화된내용은 비활화 시킴
                        $($(this).attr("href")).show(); // 클릭한 탭메뉴의링크경로를 얻어내서 해당되는 id의 내용만 활성화 시킴
                        return false;     // a링크명령이 적용되지못하게 한다.
                  }
                        
            </script>
            <style type="text/css">
*{
      margin:0;
      padding:0;
}
#container{
      width:500px;
      margin:50px auto;
}
ul.tab{
      padding:0;
}
ul.tab li{
      list-style-type:none;
      width:100px;
      height:40px;
      float:left;
}
ul.tab li a{
      outline:none;
      background:url("./images/tab.jpg");
      display:block;
      color:blue;
      line-height:40px;
      text-align:center;
      height:40px;
}
ul.tab li a:link{
      font:normal 12px Arial, Helvetica, sans-serif; color:#000000; text-decoration:none;
      line-height:40px;
}
ul.tab li a.selected{
      background:url("./images/tab_selected.jpg");
      text-decoration:none;
      color:#069;
      cursor:default;
}
ul.panel{
      clear:both;
      border:1px solid #9FB7D4;
      border-top:none;
      padding:0;
}
ul.panel li{
      list-style-type:none;
      padding:10px;
      text-indent:1em;
      color:#333;
      background:#FFFFFF;
}
            </style>
      </head>
      <body>
            <div id="container">
                  <ul class="tab">
                        <li><a href="#tab1" class="selected">JavaScript</a></li>
                        <li><a href="#tab2">CSS</a></li>
                        <li><a href="#tab3">HTML</a></li>
                        <li><a href="#tab4">jQuery</a></li>
                        <li><a href="#tab5">XHTML</a></li>
                  </ul>
                  <ul class="panel">
                        <li id="tab1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse congue elit eu mauris sollicitudin dictum. Phasellus nec felis ut arcu placerat tincidunt. Vestibulum luctus mauris ac ante molestie eleifend. Quisque dapibus nulla ac purus volutpat posuere a quis nisl. Nam condimentum purus vitae nibh feugiat imperdiet. Cras purus mi, egestas vitae imperdiet volutpat, suscipit nec odio. Maecenas elementum aliquam metus nec ultrices. Suspendisse potenti. Praesent lobortis gravida massa in volutpat. Nunc id mauris id orci congue malesuada. Aliquam vel mauris risus, sit amet laoreet sapien. Maecenas varius gravida purus vel pharetra. Sed quis leo id mi laoreet accumsan. Vestibulum ac mauris purus, nec rutrum sem. Sed euismod magna a lacus consectetur in mattis quam suscipit. Phasellus nec enim libero. Donec sit amet justo diam. In hac habitasse platea dictumst. Sed nibh libero, iaculis eget aliquet eu, rhoncus nec ligula.
                        </li>
                        <li id="tab2">
Nam cursus molestie erat, a sodales erat sollicitudin ut. Maecenas nec urna mi, eu congue turpis. Duis vitae volutpat lorem. Ut vulputate tempor elit, vitae iaculis elit sollicitudin at. Ut gravida fermentum tempor. Mauris metus ante, volutpat et porta a, malesuada vel purus. In lobortis ullamcorper lorem eu malesuada. Nullam sollicitudin, urna eu euismod suscipit, eros sapien adipiscing arcu, sit amet ultricies lacus elit sed urna. Nam scelerisque, nulla eu mollis elementum, ipsum tortor ullamcorper felis, eget laoreet diam turpis dignissim metus. In eget lectus sit amet mi pretium pellentesque varius vitae augue. Integer mattis, elit nec adipiscing rhoncus, elit tellus congue sapien, et auctor mi nisi in purus. Curabitur commodo, neque sed ornare porta, purus magna rhoncus eros, quis consectetur ipsum erat ac mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce sed turpis tortor, quis euismod enim. Integer faucibus venenatis egestas. Etiam eu metus et sem bibendum fermentum. Sed dui ante, sollicitudin at tincidunt at, pretium sit amet diam. Nunc porttitor tristique est sed pulvinar. Fusce eu ligula vitae orci venenatis sagittis sed quis ipsum.
                        </li>
                        <li id="tab3">
Pellentesque in metus leo. Praesent porta, dolor nec mattis ullamcorper, velit purus mollis enim, nec tincidunt magna massa ornare elit. In ipsum enim, pellentesque vitae gravida ultrices, aliquet nec ante. Mauris sed nunc ut ligula dictum convallis vel et nunc. Aenean eget enim vitae nulla lacinia consequat. Quisque blandit, ante vel sodales sollicitudin, neque ante elementum leo, ut consequat dui risus ut purus. Vestibulum viverra lacus at felis dignissim bibendum. Maecenas interdum nisl eu metus porta luctus. Suspendisse nulla neque, ultricies nec facilisis nec, mollis id sapien. Donec nec quam et felis pulvinar fringilla a non orci. Maecenas tincidunt magna a sem faucibus eu interdum magna aliquam. Suspendisse a diam lorem, nec malesuada sapien. Nam a scelerisque velit. Integer commodo malesuada odio, sit amet rutrum ante viverra ut. In egestas, arcu id pretium tempus, ligula nibh interdum enim, non bibendum velit felis sed augue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent augue eros, posuere pharetra pharetra eu, feugiat eu velit.
                        </li>
                        <li id="tab4">
Vestibulum a quam scelerisque odio ultricies mollis eget a leo. Morbi dictum, velit lobortis hendrerit tincidunt, lacus nisl rhoncus felis, commodo sollicitudin magna augue non est. Nunc in felis quis purus dignissim blandit vel ut erat. In hac habitasse platea dictumst. Nullam euismod auctor rhoncus. Proin et sem ac neque placerat vulputate. Nullam consequat purus eget libero posuere pulvinar. Aenean luctus luctus leo nec vehicula. Praesent eleifend nibh sed neque vestibulum hendrerit. Nulla suscipit vehicula sem, quis congue ligula gravida vel. Aliquam risus urna, pretium eget porttitor hendrerit, gravida at libero. Curabitur nec luctus risus. Etiam ullamcorper fringilla nisl hendrerit convallis. Duis in nibh tellus. Donec porta nibh id purus mollis sodales. Nam eget libero vel metus congue ultricies ut vitae nibh. Sed ac justo ac eros luctus ullamcorper ut tincidunt nibh. Fusce dapibus bibendum urna, id tempor turpis sodales sed. Nam dui purus, posuere vel placerat eu, posuere non magna.
                        </li>
                        <li id="tab5">
Vestibulum consequat consequat aliquet. Aenean ut nunc dolor, vel dictum mauris. Proin neque eros, tincidunt at faucibus a, dapibus sit amet tellus. Etiam rutrum pharetra risus porta ullamcorper. Nunc convallis orci at massa suscipit porta. Sed interdum suscipit dui, eu sodales odio fermentum vitae. Nunc vitae dui metus, a laoreet ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed eu mauris mi, non blandit tortor. Ut fringilla cursus justo id porta. Sed in nibh nulla. Aenean consectetur arcu vel eros facilisis ac luctus lectus placerat. Fusce risus dui, adipiscing ut tempus non, malesuada quis velit.
                        </li>
                  </ul>
            </div>
      </body>
</html>






Steemit 블로그 개설하기2


아래와 같이 메일 통보과 온다.
"아래 링크를 눌러서 계정생성을 끝내라"



최초 생성된 비밀번호를 확인하고 저장한다.
잃어버리면 계정을 찾을수 없게 되기때문에, 저장하자.
Continue





방금저장했던 다시 입력하고 재확인하자.
Continue




가입이 완료되었다.
계정이 생성된것이다.



로 들어가서, 화면 우측상단의 Login 클릭
아이디, 비번을 치고 로그인해보자.





제대로 로그인 되었다면, 아래와 같은 화면이 나온다.
아직 follow한 이력이 없다.




다음에는
Explore Trending Articles, Read The Quick Start Guide, Browse The FAQ를 클릭해서 읽어봐야겠다. 


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

Steemit 블로그 개설하기1  (0) 2018.03.25

+ Recent posts