text: $(document).ready(function () {
    var $responsiveBtn = $('#responsive-sidebar-trigger'),
      $sidebarMask = $('#sidebar-mask'),
      $sidebar = $('#sidebar'),
      $main = $('#main'),
      winWidth = $(window).width(),
      startX = 0,
      startY = 0,
      delta = {
        x: 0,
        y: 0
      },
      swipeThreshold = winWidth / 3,
      toggleSideBar = function () {
        var isShow = $responsiveBtn.data('is-show'),
          mainHeight = $main.height(),
          sidebarHeight = $sidebar.outerHeight();
        $sidebar.css({right: isShow ? -300 : 0});
        $responsiveBtn.data('is-show', !isShow);
        if (!isShow && mainHeight < sidebarHeight) {
          $main.height(sidebarHeight);
        }
        $sidebarMask[isShow ? 'fadeOut' : 'fadeIn']().height($('body').height());
      },
      touchstart = function (e) {
        var touchs = e.targetTouches;
        startX = +touchs[0].pageX;
        startY = +touchs[0].pageY;
        delta.x = delta.y = 0;
        document.body.addEventListener('touchmove', touchmove, false);
        document.body.addEventListener('touchend', touchend, false);
      },
      touchmove = function (e) {
        var touchs = e.changedTouches;
        delta.x = +touchs[0].pageX - startX;
        delta.y = +touchs[0].pageY - startY;
        //当水平距离大于垂直距离时，才认为是用户想滑动打开右侧栏
        if (Math.abs(delta.x) > Math.abs(delta.y)) {
          e.preventDefault();
        }
      },
      touchend = function (e) {
        var touchs = e.changedTouches,
          isShow = $responsiveBtn.data('is-show');
        delta.x = +touchs[0].pageX - startX;
        //右侧栏未显示&&用户touch点在屏幕右侧1/4区域内&&move距离大于阀值时，打开右侧栏
        if (!isShow && (startX > winWidth * 3 / 4) && Math.abs(delta.x) > swipeThreshold) {
          $responsiveBtn.trigger('click');
        }
        //右侧栏显示中&&用户touch点在屏幕左侧侧1/4区域内&&move距离大于阀值时，关闭右侧栏
        if (isShow && (startX < winWidth * 1 / 4) && Math.abs(delta.x) > swipeThreshold) {
          $responsiveBtn.trigger('click');
        }
        startX = startY = 0;
        delta.x = delta.y = 0;
        document.body.removeEventListener('touchmove', touchmove, false);
        document.body.removeEventListener('touchend', touchend, false);
      };
  
    if (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
      document.body.addEventListener('touchstart', touchstart);
    }
  
    $responsiveBtn.on('click', toggleSideBar);
  
    $sidebarMask.on('click', function () {
      $responsiveBtn.trigger('click');
    });
  
  });