Показать сообщение отдельно
  #5 (permalink)  
Старый 02.04.2014, 12:15
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

А, ну так onmousewheel только в опере и IE работает. Для firefox/chrome/saphari надо событие DOMMouseScroll использовать (что плагин mousewheel и делает).
Но подобный запрет запрещает только скроллинг колесиком. То есть, прокрутка скроллбаром все равно остается. Чтобы полностью запретить прокрутку, придется скроллбар скрывать. Чтобы не прыгало, можно при этом вешать телу документа paddingRight, равный ширине скроллбара. Найти эту ширину можно вот так:
Цитата:
// создадим элемент с прокруткой
var div = document.createElement('div');
       
div.style.overflowY = 'scroll';
div.style.width =  '50px';
div.style.height = '50px';
 
// при display:none размеры нельзя узнать
// нужно, чтобы элемент был видим,
// visibility:hidden - можно, т.к. сохраняет геометрию
div.style.visibility = 'hidden';
 
document.body.appendChild(div);
var scrollWidth = div.offsetWidth - div.clientWidth;
document.body.removeChild(div);
 
alert( scrollWidth );

Последний раз редактировалось Erolast, 02.04.2014 в 12:19.
Ответить с цитированием