Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Плагин jQuery.capScroll
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Всем привет!
Представляю очередной мини плагин jQuery - capScroll.
Предпосылкой послужило то, что браузер прокручивает документ дальше после того
как целевой прокручиваемый HTML - элемент достигает максимальной точки прокрутки,
как например в случае со спойлерами на нашем форуме.
Данный плагин позволяет захватывать скролл и фокусировать его на целевом объекте,
с css правилом overflow == auto, блокируя скролл родительского элемента.
Тот же фунционал получают и дочерние блочные и строчно-блочные элементы,
с соответсвующим ccs правилом overflow.
В примере по ссылке плагин подключен глобально,
к основному контейнеру документа,
чтобы показать его на деле полностью, так сказать во всей красе )
Метод обёртки capScroll() может принимать необязательный объект параметров, описанных ниже в комментариях к коду.
Ну и, соответственно, реализован метод обёртки unCapScroll() для отсоединения захвата.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Интересно, а с другими плагинами (например стилизация скроллбаров) будет работать? корректно работать?
надо будет опробовать..
----- Чем больше узнаю, тем больше я не знаю.
armancho7777777
Отправлено: 23 Июня, 2013 - 12:46:53
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DelphinPRO пишет:
например стилизация скроллбаров
Они могут использоавать не сам скроллинг как таковой,
а относительное позиционирование дочернего элемента.
Как, например, плагин JScrollPane. (Добавление)
Но, по идее, должно работать корректно в связке с ними,
так как они испольют значения дельты объекта события mousewheel при расчётах применяемых для позиционирования,
а метод capScroll блокирует именно его.
----- Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
armancho7777777
Отправлено: 23 Июня, 2013 - 20:55:23
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
nerv пишет:
я бы отвязал фиксирование прокрутки родительского элемента и вынес в отдельный плагин
А что бы оставили интересно?
Думаю Вы не совсем уловили назначение плагина.
Родительская прокрутка блокируется, позволяя прокрутить только тот элемент, над которым находится курсор.
То есть данный плагин именно для того и преднозначен, чтобы блокировать прокрутку объектов, не являющимися целевыми.
nerv пишет:
есть много способов прокрутки.
К делу не относится.
Плагин преднозначен не для этого.
Хотя прокрутка с ним ведёт себя более логично:
на пример, можно придать ускорение именно скоростью вращения колёсика ))
Более того, на его базе можно уже реализовать пользовательский скролл-бар,
что я в прочем и сделаю в дальнейшем )
В примере по ссылке просто плагин подключен глобально,
к основному контейнеру документа,
чтобы показать его на деле полностью, так сказать во всей красе )
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Исправлен алгоритм прокрутки.
vanicon
Отправлено: 24 Июня, 2013 - 11:50:20
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
armancho7777777
Спасибо, полезный плагин, определенно понадобиться...
Например, недавно с всплывающими окнами (overlay) работал, тоже с родительской прокруткой были проблемы, но там я просто убирал родительскую прокрутку...
----- Так было, так есть и так будет
armancho7777777
Отправлено: 24 Июня, 2013 - 12:33:25
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Переписал код, оптимизировал.
Минимизированная версия весит 2kb.
Обновитесь, кто скачивал.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Исправил кое-что ещё.
nerv
Отправлено: 24 Июня, 2013 - 18:57:12
Посетитель
Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013 Откуда: Россия
Помог: 9 раз(а)
armancho7777777 пишет:
А что бы оставили интересно?
фиксирование родителя
armancho7777777 пишет:
на пример, можно придать ускорение именно скоростью вращения колёсика ))
это и т.п. в отдельный
повторю: в хроме пример не корректно работает, если:
1. установить курсор внутри блока с текстом
2. нажать на колесо мыши
3. опустить мышь вниз блока с текстом (что вызовет прокрутку блока, а затем всей страницы)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.