Snippets

Oleg Chulakov Studio iOS Safari overlay scroll fix

Updated by Vlad

File scroll.js Modified

  • Ignore whitespace
  • Hide word diff
 // Заблокировать прокрутку страницы
 function lockScroll(){
 	if (!locked) {
-		bodyScrollTop = body.scrollTop;
+		bodyScrollTop = (typeof window.pageYOffset !== 'undefined') ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
 		body.classList.add('scroll-locked');
 		body.style.top = `-${bodyScrollTop}px`;
 		locked = true;
Updated by Vlad

File style.css Modified

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

File style.css Modified

  • Ignore whitespace
  • Hide word diff
 	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;
 }
Updated by Vlad

File scroll.js Modified

  • Ignore whitespace
  • Hide word diff
 var bodyScrollTop = null;
 var locked = false;
 
-/* Заблокировать прокрутку страницы */
+// Заблокировать прокрутку страницы
 function lockScroll(){
 	if (!locked) {
 		bodyScrollTop = body.scrollTop;
 	};
 }
 
-/* Включить прокрутку страницы */
+// Включить прокрутку страницы
 function unlockScroll(){
 	if (locked) {
 		body.classList.remove('scroll-locked');

File style.css Modified

  • Ignore whitespace
  • Hide word diff
-// Эти стили отключат прокрутку на странице
+/* Эти стили отключат прокрутку на странице */
 body.scroll-locked {
 	position: fixed;
 	left: 0;
 	overflow: hidden;
 }
 
-// Эти включат прокрутку внутри блока, появившегося поверх страницы
+/* Эти включат прокрутку внутри блока, появившегося поверх страницы */
 .modal {
 	overflow: auto;
 	-webkit-overflow-scrolling: touch;
Updated by Vlad

File scroll.js Modified

  • Ignore whitespace
  • Hide word diff
 var bodyScrollTop = null;
 var locked = false;
 
-/* Заблокировать скролл */
+/* Заблокировать прокрутку страницы */
 function lockScroll(){
 	if (!locked) {
 		bodyScrollTop = body.scrollTop;
 	};
 }
 
-/* Включить скролл */
+/* Включить прокрутку страницы */
 function unlockScroll(){
 	if (locked) {
 		body.classList.remove('scroll-locked');
  1. 1
  2. 2
HTTPS SSH

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