【jQuery】スクロールをDisable

by tea4two

HTML

<div id="slider">
  </div>
  <button id="click">Click Me</button>

CSS

body, html {
      height: 200%;
      padding: 0;
      margin: 0;
      background: #3A3A3A url(http://fc09.deviantart.net/fs70/f/2010/246/b/b/many_worlds_by_casperium-d2xthz4.jpg) repeat;
    }
    #slider {
      position: absolute;
      top: 10px;
      width: 400px;
      border: 1px solid #000;
      border-left: none;
      height: 200px;
      margin-left: -400px;
      background-color: #fff;
    }
    
    #click {
      position: fixed;
      bottom: 10px;
      left; 10px;
      width: 200px;
      height: 50px;
      background-color: #fff;
      color: #000;
      font-size: 20px;
    }

JavaScript

var floater = false;
  $('#click').click(function(){
    var top = $(window).scrollTop();
    var left = $(window).scrollLeft()
    if(!floater){
      $('body').css('overflow', 'hidden');
      $(window).scroll(function(){
        $(this).scrollTop(top).scrollLeft(left);
      });
    } else {
      $('body').css('overflow', 'auto');
      $(window).off('scroll');
    }
    
    $('#slider').css({top: top, left : left}).animate({
      'margin-left' : (floater ? -400 : 0)
    }, 500);
    floater = !floater;
  });