Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2015, 14:30
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Отслеживание события scroll с отменой
Всем привет!
Очень хочется услышать Ваши мысли!

Дело в том, что необходимо получить событие "onscroll", но при этом не дать странице возможности совершить прокрутку.

$('#menu-window').scroll(function (e) {
console.log(e);
if($(this).scrollTop() < 200) {
$(this).scrollTop(200);
}
});

К сожалению, подобный вариант работает с прыжками в IE. Необходимо что, что не просто "вернет" на место, а что вообще отменит событие.

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2015, 14:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

scroll нельзя отменить. Но можно отменить события, приводящие к скроллу. Но зачем такое странное поведение понадобилось?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2015, 14:51
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

danik.js,
жаль...

И есть задача - запретить прокрутку, если scrollTop() < 200

Вот и ищу способы реализовать это без прыжков =(
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2015, 15:00
Интересующийся
Отправить личное сообщение для arcmag Посмотреть профиль Найти все сообщения от arcmag
 
Регистрация: 06.02.2015
Сообщений: 29

можно вот так вот попробовать
var dY=0;
document.onmousewheel = function(e){
	dY+=e.deltaY;
	if(dY<0)dY=0;
	if(dY>200){ scroll(0,200); dY=200;}
	else scroll(0,dY);
}
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2015, 15:06
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

arcmag,
Вы ведь только событие мыши обрабатывайте. Но ведь можно же просто скроллом прокрутить страницу
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2015, 15:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Dorian_bs
Но ведь можно же просто скроллом прокрутить страницу
А тут уже ничего не поделаешь.
Возможно через requestAnimationFrame можно как-то избавиться от прыжков в IE, хотя я сомневаюсь.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка события внутри события grifangel Общие вопросы Javascript 6 04.09.2014 12:34
Работа с css классом элемента при scroll Bravo Events/DOM/Window 10 23.05.2014 16:18
События при scroll (Помогите как упростить) teremok jQuery 2 29.04.2013 12:59
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54
Отслеживание события изменения belkir Events/DOM/Window 1 04.08.2011 03:42