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 df155aa
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.