Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запрет скроллинга страницы (https://javascript.ru/forum/misc/21561-zapret-skrollinga-stranicy.html)

nematod 16.09.2011 17:39

dmitriymar, логично)) А как это выглядит в жабаскрипте?

melky 16.09.2011 17:54

monolithed установил так :

var prevent = function(event) {
	window.scrollTo(0, 0);
	event ? event.preventDefault() : window.event.returnValue = false;
};

if(window.addEventListener) {
	var array = ['DOMMouseScroll', 'mousewheel', 'scroll'],
		i = array.length;

	while(i--) {
		window.addEventListener(array[i], prevent, false);
	}
}
else window.onmousewheel = document.onmousewheel = window.onscroll = prevent;



удалить можно так

// функция prevent никуда не делась.

if(window.addEventListener) {
	var array = ['DOMMouseScroll', 'mousewheel', 'scroll'],
		i = array.length;

	while(i--) {
		window.removeEventListener(array[i], prevent, false);
	}
}
else window.onmousewheel = document.onmousewheel = window.onscroll = null;


PS на основе кода monolithed


Цитата:

Сообщение от nematod (Сообщение 126778)
dmitriymar, логично)) А как это выглядит в жабаскрипте?

:-/ жопой об косяк

nematod 16.09.2011 19:05

melky, этот скрипт замораживает скролл только когда он находится в верхнем положении, если он прокручен вниз, страницу можно скроллить вверх.. :(

nematod 16.09.2011 19:14

Разобрался, внёс небольшую поправочку и скролл начал замерзать. Вот код:
var prevent = function(event){
	var h = document.documentElement.scrollTop;
	window.scrollTo(0, h);
	event ? event.preventDefault() : window.event.returnValue = false;
};
if(window.addEventListener){
	var array = ['DOMMouseScroll', 'mousewheel', 'scroll'],
	i = array.length;
	while(i--){
		window.addEventListener(array[i], prevent, false);
	}
}
else window.onmousewheel = document.onmousewheel = window.onscroll = prevent;



Но основной вопрос остался без ответа.
Скроллинг не начинает двигатся...((((

nematod 16.09.2011 21:02

Блин, ну помогите кто-нибудь.
Вот эта чатсть кода работает только в IE, а в Oper-е не работает:
if(window.addEventListener) {
var array = ['DOMMouseScroll', 'mousewheel', 'scroll'],
i = array.length;
 
while(i--) {
window.removeEventListener(array[i], prevent, false);
}
}
else window.onmousewheel = document.onmousewheel = window.onscroll = null;


Как восстановить функцию скроллинга???

.


Часовой пояс GMT +3, время: 04:14.