radiodraws
5/19/2016 - 4:50 PM

lock/unlock scroll

lock/unlock scroll

function lock_scroll(){
  // lock scroll position, but retain settings for later
  var scrollPosition = [
    self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
    self.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop
  ];
  var html = jQuery('html'); // it would make more sense to apply this to body, but IE7 won't have that
  html.data('scroll-position', scrollPosition);
  html.data('previous-overflow', html.css('overflow'));
  html.css('overflow', 'hidden');
  window.scrollTo(scrollPosition[0], scrollPosition[1]);
  
  //---safari
  document.ontouchmove = function(e){ e.preventDefault(); } 
	
}

function unlock_scroll(){
  // un-lock scroll position
  var html = jQuery('html');
  var scrollPosition = html.data('scroll-position');
	html.attr('style','');
  //html.css('overflow', html.data('previous-overflow'));
  window.scrollTo(scrollPosition[0], scrollPosition[1]);
  
  //--- safari
  document.ontouchmove = function(e){ return true; }
}