Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.12.2011, 15:22
Интересующийся
Отправить личное сообщение для konan Посмотреть профиль Найти все сообщения от konan
 
Регистрация: 22.02.2011
Сообщений: 12

Помогите со скроллингом, плиз
Окно браузера имеет скроллинг, в нем див тоже со скроллингом. Как сделать, чтобы прокручивая до конца див, скроллинг body не срабатывал
(т.е. пока курсор находится в этом диве).
Ответить с цитированием
  #2 (permalink)  
Старый 06.12.2011, 15:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

перехватывать события колеса мыши
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2011, 16:24
Интересующийся
Отправить личное сообщение для konan Посмотреть профиль Найти все сообщения от konan
 
Регистрация: 22.02.2011
Сообщений: 12

Событие перехватываю,отключаю скроллинг. Но вместе со скроллингом окна выключается и скроллинг дива.
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2011, 16:33
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

дык не надо собыие отменять, если оно происходит именно в диве. смотрите, откуда пришло событие.
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2011, 22:41
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от melky Посмотреть сообщение
дык не надо собыие отменять, если оно происходит именно в диве. смотрите, откуда пришло событие.
А можете уточнить? Что значит смотреть, откуда пришло событие? Пришло событие из DIV_а. Но дальше если продолжать вращать колесо, то оно передается документу (body) и заставляет двигаться глобальный скроллер страницы. Можете дать примерчик?
У меня есть решение этой задачки, но может Ваше проще?
Ответить с цитированием
  #6 (permalink)  
Старый 28.12.2011, 17:01
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

konan,
проблема заключается в том, что при вращении колеса мыши браузер следит, где находится скроллер в текущем DIV_е. Если он не дошел до "упора" (т.е. до верха или низа), то браузер посылает сообщения этому DIV_у, а как только упор, так браузер посылает сообщение своему телу (body). Поэтому надо перехватывать момент упора и запрещать дальнейшее распространение события.
Тестовый пример можете посмотреть здесь:
http://gigalit.info/test107.htm
Хочу предупредить, что он нормально работает только в Google Chrome и FireFox.
Для Opera, IE надо ещё учитывать высоту скроллера, т.е. доделать скрипт
Ответить с цитированием
  #7 (permalink)  
Старый 28.12.2011, 18:08
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Маэстро Посмотреть сообщение
Поэтому надо перехватывать момент упора и запрещать дальнейшее распространение события.
да, уже пишу)
Ответить с цитированием
  #8 (permalink)  
Старый 30.12.2011, 14:21
Интересующийся
Отправить личное сообщение для konan Посмотреть профиль Найти все сообщения от konan
 
Регистрация: 22.02.2011
Сообщений: 12

Сообщение от Маэстро Посмотреть сообщение
konan,
Тестовый пример можете посмотреть здесь:
http://gigalit.info/test107.htm
Хочу предупредить, что он нормально работает только в Google Chrome и FireFox.
Для Opera, IE надо ещё учитывать высоту скроллера, т.е. доделать скрипт
В Firefox как то некорректно срабатывает скрол DIVa или вообще не срабатывает.

Последний раз редактировалось konan, 30.12.2011 в 14:24.
Ответить с цитированием
  #9 (permalink)  
Старый 30.12.2011, 18:10
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от konan Посмотреть сообщение
В Firefox как то некорректно срабатывает скрол DIVa или вообще не срабатывает.
Проверяю в FireFox 8.0 -всё работает. Чтобы скроллер работал внутри дива (в примере их два) надо поставить фокус на этот DIV, т.е. кликнуть мышкой. Чтобы в другом - кликнуть по другому.
Ответить с цитированием
  #10 (permalink)  
Старый 03.01.2012, 12:27
Интересующийся
Отправить личное сообщение для konan Посмотреть профиль Найти все сообщения от konan
 
Регистрация: 22.02.2011
Сообщений: 12

Сообщение от Маэстро Посмотреть сообщение
Проверяю в FireFox 8.0 -всё работает. Чтобы скроллер работал внутри дива (в примере их два) надо поставить фокус на этот DIV, т.е. кликнуть мышкой. Чтобы в другом - кликнуть по другому.
Да, так и есть. Только мне надо было при наведении, но уже нашел и поменял это событие.
Спасибо за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ плиз!!! я Новичок нуждаюсь в помощи! Brand new you Javascript под браузер 1 11.10.2011 14:47
Помогите плиз mesq Оффтопик 6 28.06.2010 04:58
помогите плиз serjo86 Элементы интерфейса 0 04.03.2010 16:24
Плиз, помогите девушке dremarlara Общие вопросы Javascript 4 21.04.2009 09:48
relative + fixed Помогите плиз( greatilya Internet Explorer 14 27.11.2008 03:29