Javascript 슬라이드 질문입니다.

조회수 791회

안녕하세요. 다름이아니라 Javascript로 버튼을 클릭하면 오른쪽에서 왼쪽으로 들어갔다나오는 사이드 바를 만들려고하는데요.

오른쪽에 사이드바는 만들었는데 버튼을 클릭했을때 들어갔다 나오는 기능구현을 못하겠습니다..

Javascript 기초 제대로모르고 무작정 홈페이지 만든다고 덤볐는데.. html css는 알아 먹겠는데.. java는 도저히 모르겠습니다..

도와주실 고수님들 계신가요?..ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 작업하신 소스를 아무데나 올려주세요. codepen.io 나 jsfiddle.net 추천드립니다. 엽토군 2018.8.29 12:00

1 답변

  • jQuery.toggleClass()를 사용하면 간단합니다.

    css를 잘 다루신다면,

    transition: right 0.5s ease;
    

    와 같이 간단한 애니메이션도 쉽게 처리 할 수 있습니다.

    HTML

    <div class="l-container">
    
      <div class="l-contents">
        <p>I'm Contents</p>
      </div>
    
      <div class="l-sidebar is-close">
    
        <div class="sidebar-in">
    
          <p>I'm Sidebar</p>
          <button type="button" class="btn-toggle">OPEN</button>
    
        </div>
    
      </div>
    
    </div>
    

    CSS

    .l-container {
      position: relative;
    }
    .l-container .l-sidebar {
      position: fixed;
      right: 0;
      top: 0;
      width: 200px;
      height: 100%;
      border-left: 1px solid #ccc;
      transition: right 0.5s ease;
    }
    .l-container .l-sidebar.is-close {
      right: -200px;
      transition: right 0.5s ease;
    }
    .l-container .l-sidebar .sidebar-in {
      position: relative;
      width: 180px;
      margin: 0 auto;
    }
    .l-container .l-sidebar .sidebar-in .btn-toggle {
      position: absolute;
      left: -60px;
      top: 10px;
      width: 50px;
      background: #000;
      color: #fff;
      display: inline-block;
      padding: 10px 0;
    }
    

    JS

    ;(function($){
    
      var $btnToggle  = $('.btn-toggle'),
          $sideBar = $('.l-sidebar');
    
      $btnToggle.on('click', function(e){
    
        var _this = $(this);
    
        $sideBar.toggleClass('is-close');
    
        if($sideBar.hasClass('is-close')) {
          _this.text('open');
        } else {
          _this.text('close');
        }    
    
      });
    
    })(jQuery);
    

    음? 코드펜 embed 가 안되네요.

    코드펜 예제 미리보기

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)