19 404 Скрипты / Scroll

Nicescroll - альтернатива полос прокрутки

Плагин nicescroll позволяет придать стандартным полосам прокрутки стиль внешне похожий на используемый в ios (как у apple). Поддерживается изменение как вертикальной, так и горизонтальной полосы прокрутки.

  • Поддерживаются прокрутки в DIV-ах, iframe-ах, textarea и body.
  • Совместимость с браузерами: Firefox 4+, Chrome 5+, Safari 4+ (win/mac), Opera 10+, IE6+.
  • Совместимость с мобильными усройствами: iPad, iPhone, iPod, Android 2.2+, Blackberry и Playbook (WebWorks/Table OS), Windows Phone 7.5 Mango.
  • Совместимость с устройствами ввода, как сенсорная мышь или перо: window surface, chrome desktop на сенсорных ноутбуках.
  • Совместимость с дву-направленными мышками: Apple Magic Mouse, Apple Mouser (с дву-направленным колесом), PC мышки с дву-направленным колесом (если браузер поддерживает их).

В современных браузерах реализовано аппаратное ускорение. Использование animationFrame для более плавной прокрутки и сохранения CPU (если поддерживается браузером)
Особенности:

  • Простая установка и активация, работает без модификации вашего кода.
  • Стильный скроллбар, который не съедает полезную область вашего окна браузера, как это делают стандартные полосы прокрутки в браузере.
  • Возможность стилизации скроллбара всей страницы, т.е. тега body.
  • Во всех браузерах вы можете прокручивать: с помощью перетаскивания курсора, колесиком мыши (скорость настраивается), клавишами навигации (клавиши управления курсором, pageup, pagedown, home/end)
  • Плавная прокрутка (скорость настраивается)
  • Функция масштабирования
  • Аппаратное ускорение прокрутки
  • Поддержка animation frame для плавной прокрутки и экономии ресурсов CPU
  • Режим перетаскивания скролла, как на сенсорных устройствах
  • Протестирован со всеми основными десктопными и мобилными браузерами
  • Поддержка touch устройств
  • Поддержка устройств с мултитач (IE10 с MSPointer)
  • Полностью настраиваемый скроллбар
  • Родные scroll события, так же работают
  • Полностью интегрирован с jQuery
  • Совместим с jQuery UI, jQuery Touch и jQuery Mobile

JS

Для работы плагина подключаем библиотеку jQuery не ниже версии 1.5.x (можно попробовать и версии 1.4.x)

<script src="jquery.min.js"></script>

После вызова jQuery поместите и вызов самого плагина (и загрузите картинку zoomico.png туда же, куда загрузили и скрипт плагина):

 <script src="jquery.nicescroll.js"></script>

Примеры инициализации:
Стилизуем скроллбар всего документа (предпочтение отдаем html элементу)

$(document).ready(
    function() {
        $("html").niceScroll();
    }
);

Пример с возвращенным объектом:

var nice = false;
$(document).ready(
    function() {
        nice = $("html").niceScroll();
    }
);

Стилизация скролла у DIV и изменение цвета ползунка:

$(document).ready(
    function() {
        $("#thisdiv").niceScroll({cursorcolor:"#00F"});
    }
);

DIV с оболочкой (wrapper), образуемый двумя дивами, первый это окно просмотра, второй это контент:

$(document).ready(
    function() {
        $("#viewportdiv").niceScroll("#wrapperdiv",{cursorcolor:"#00F"});
    }
);

Получение объекта nicescroll

var nice = $("#mydiv").getNiceScroll();

Скрыть скроллбары:

$("#mydiv").getNiceScroll().hide();

Проверка ресайза скроллбаров:

$("#mydiv").getNiceScroll().resize();

Доступные опции:

  • cursorcolor - изменение цвета курсора в hex формате: по умолчанию "#000000"
  • cursoropacitymin - изменение прозрачности курсора, когда он не активен (скроллбар "hidden" скрыт), диапазон от 1 до 0, по умолчанию 0 (скрыт)
  • cursoropacitymax - изменение прозрачности курсора в активном состоянии (скроллбар "visible" виден), диапазон от 1 до 0, по умолчанию 1 (виден полностью)
  • cursorwidth - ширина курсора в пикселях, по умолчанию 5 (написать можно и так "5px")
  • cursorborder - определяет границу курсора, по умолчанию "1px solid #fff"
  • cursorborderradius - определяет радиус границы курсора в пикселях, по умолчанию  "4px"
  • zindex - изменение z-index для прокуртки DIV, по умолчанию 9999
  • scrollspeed - скорость прокрутки, по умолчанию 60
  • mousescrollstep - скорость прокрутки с помощью колесика мыши, по умолчанию 40 (pixel)
  • touchbehavior - включение возможности прокрутки cursor-drag так же как и на touch устройствах, по умолчанию false
  • hwacceleration - использование аппаратного ускорения, если поддерживается, по умолчанию true
  • boxzoom - включение zoom контейнера с контентом, по умолчанию false
  • dblclickzoom - (только когда boxzoom=true) активация zoom после двойного клика по контейнеру, по умолчанию true
  • gesturezoom - (только когда boxzoom=true и на touch устройствах) zoom активируется, когда курсор вне/над контейнером, по умолчанию true
  • grabcursorenabled, отображать "grab" иконку для div с touchbehavior = true, по умолчанию true
  • autohidemode, скрывать курсор, true=default / "cursor" = скрывать только курсор / false = не скрывать
  • background, изменение CSS для фона, по умолчанию ""
  • iframeautoresize, авторесайз iframe на load event (по умолчанию:true)
  • cursorminheight, установить минимальную высоту курсора в пикселях (по умолчанию:20)
  • preservenativescrolling, you can scroll native scrollable areas with mouse, bubbling mouse wheel event (по умолчанию:true)
  • railoffset, вы можете добавить смещение top/left для рейки (траектория по которой бегает ползунок) (по умолчанию:false)
  • bouncescroll, включение подпрыгивания скролла в конце контента (только аппаратное ускорение) (по умолчанию:false)
  • spacebarenabled, включение прокрутки страницы вниз, когда нажата клавиша "пробел" (по умолчанию:true)
  • railpadding, установка отступов для рейки (по умолчанию:{top:0,right:0,left:0,bottom:0})
  • disableoutline, для браузера chrome, отключение outline (оранжевая подсветка), когда выбран DIV с nicescroll (по умолчанию:true)
  • horizrailenabled, nicescroll может управлять горизонтальным скроллом (по умолчанию:true)
  • railalign, выравнивание вертикальной рейки (по умолчанию:"right")
  • railvalign, выравнивание горизонтальной рейки (по умолчанию:"bottom")
  • enabletranslate3d, nicescroll может использовать CSS translate для прокручиваемого контента (по умолчанию:true)
  • enablemousewheel, nicescroll может управлять событиями колесика мыши (по умолчанию:true)
  • enablekeyboard, nicescroll может управлять событиями клавиатуры (по умолчанию:true)
  • smoothscroll, плавный скролл (по умолчанию:true)
  • sensitiverail, клик по рейке вызовет прокрутку (по умолчанию:true)
Скачать 6807Загрузок 355,28 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи