Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> overflow-y: scroll, сдвиг страницы 
:(
    Опции темы
serghd
Дата 23.10.2012, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Привет всем. Очень интересует, можно ли как-то исключить прокрутку страницы, если я двигаю колесом, к примеру, на div-е, у которого установлено "overflow-y: scroll;" ?  То есть, на нём есть своя вертикальная прокрутка, она работает, но при достижении нижней границы div'а начинает прокручиваться сама страница. Можно ли как-то от этого избавиться? Спасибо.
PM MAIL   Вверх
Aliance
Дата 23.10.2012, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



В теории можно повесить на mouseover функцию, которая бы вырубала прокрутку к документа (preventDefault), а на mouseout возвращала бы обратно.
PM MAIL WWW ICQ Skype   Вверх
serghd
Дата 23.10.2012, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(Aliance @ 23.10.2012,  11:30)
В теории можно повесить на mouseover функцию, которая бы вырубала прокрутку к документа (preventDefault), а на mouseout возвращала бы обратно.

способ неплох, за исключением того, что при этом пропадает сам контрол скрола справа. В хроме получается, что страница "дёргается" при его исчезании/появлении.
Я о:
Код

 document.body.style.overflowY = "hidden";


Можно также использовать и:
Код

 window.onmousewheel = function (e) {return false;};


Тогда скрол справа исчезать не будет, но при прокрутке колесом на самом диве тоже ничего не будет происходить. Вот мля.

Это сообщение отредактировал(а) serghd - 23.10.2012, 12:13
PM MAIL   Вверх
Aliance
Дата 23.10.2012, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Я именно второй вариант и имел ввиду. Ничего не происходит, потому что событие опускается вниз по дереву DOM и срабатывает для div. Чтобы понимать, о чем я говорю, прочитай эту статью.

Я набросал небольшой пример. Если в if запихать условие, при котором прокрутка так же будет отключаться при опускании ползунка до конца, либо наоборот ( $().scrollTop() в помощь), то думаю будет работать как тебе нужно.
PM MAIL WWW ICQ Skype   Вверх
serghd
Дата 23.10.2012, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(Aliance @ 23.10.2012,  13:03)
Я именно второй вариант и имел ввиду. Ничего не происходит, потому что событие опускается вниз по дереву DOM и срабатывает для div. Чтобы понимать, о чем я говорю, прочитай эту статью.

Я набросал небольшой пример. Если в if запихать условие, при котором прокрутка так же будет отключаться при опускании ползунка до конца, либо наоборот ( $().scrollTop() в помощь), то думаю будет работать как тебе нужно.

спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.