Snippets

Oleg Chulakov Studio iOS Safari overlay scroll fix

You are viewing an old version of this snippet. View the current version.
Revised by Vlad 5bf814d
var body = document.getElementsByTagName('body')[0];
var bodyScrollTop = null;
var locked = false;

// Заблокировать прокрутку страницы
function lockScroll(){
	if (!locked) {
		bodyScrollTop = body.scrollTop;
		body.classList.add('scroll-locked');
		body.style.top = `-${bodyScrollTop}px`;
		locked = true;
	};
}

// Включить прокрутку страницы
function unlockScroll(){
	if (locked) {
		body.classList.remove('scroll-locked');
		body.style.top = null;
		window.scrollTo(0, bodyScrollTop);
		locked = false;
	}
}
/* Эти стили отключат прокрутку на странице */
body.scroll-locked {
	position: fixed;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Пример стилей для блока поверх страницы */
.modal {
	position: fixed;
	top: 0;
	left: 0
	width: 100%;
	height: 100%;
	background-color: white;
	z-index: 1000;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.