Создаем собственные Scrollbars с помощью jQuery

Очень часто, просматривая красивые сайты, наполненные множеством эффектов, использование Ajax-технологий и т.п; мы обращаем внимание на полосы прокрутки( scrollbars ), которые на фоне красивого сайта смотрятся просто отвратительно. Этот недостаток становится еще более заметен, если на странице присутствуют блоки с overflow: scroll илл auto.

Для изменения стилий скроллбаров компанией Microsoft были введены новые CSS свойства, являющиеся расширением спецефикации CSS2. В Internet Explorer'е и некоторых версиях Opera данные свойства поддерживаются, но, к сожалению, ни Firefox, ни Chrome, ни Safari ничего не знают о них. Поэтому, рассматривать данное решение мы не будем.

Jquery плагин jScrollPane

Со времени появления и начала масоового использования jQuery в разработке сайтов было написано множество дополнительных плагинов к данному фреймворку. Одним из них является jScrollPane, позволяющий за несколько минут создавать стилизованные полосы прокрутки на вашем сайте. Основным достоинством данного плагина явялется его кроссбраузерноть. Scrollbars, созданные с помощью jScrollPane работают  абсолютно во всех современных браузерах, включая IE 6. Вы можете ознакомиться с полным описанием jScrollPane и примерами на странице плагина, мы же рассмотрим простой пример его установки на примере создания блока с текстом и полосой прокрутки, стилизованный под Maс OS scrollbar.

Первым делом подключаем необходимые файлы:

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jmousewhell.js"></script>
<script type="text/javascript" src="js/jscroll.js"></script>
<link href="jscroll.css" rel="stylesheet" type="text/css" />

Файл jmousewhell.js -это еще один плагин для jQuery, позволяющий работать с колесом мышки. Он необходим для того, чтобы скролл реагировал на движение колеса. Файл jscroll.css содержит описание стилей скроллбара и html-каркаса. Разобраться в нем не состаавит каких-либо затруднений. Стили к полосе прокрутки прописываются отдельно для каждого ее элемента(стрелки, фон и т.п.).

Далее, нам необходим создать html-каркас блока с текстом.

<div class="p_content">
   <div id="page_content" class="scroll-pane">
       Текст блока
   </div>
</div>

Данный каркас является обязательным. Блок с классом p_content не должен иметь фиксированную высоту, и должен быть прижат к левому краю ( float: left; ), блок с id="page_content" должен иметь обязательный класс scroll-pane и иметь фиксированную высоту и overflow: hidden. Остальные CSS свойства вы можете посмотреть в исходном файле примера, мы не будем на них останавливаться.

Далее, все что осталось сделать - это применить jScrollPane к нашему блоку.

<script type="text/javascript">
    $(function()
    {
        $("#page_content").jScrollPane({showArrows:true, scrollbarWidth: 15, arrowSize: 15});
    });
</script>

При вызове указываются различные параметры, типа ширины скроллбара (scrollbarWidth), размера  его стрелочек (arrowSize) и так далее. Основные из них следующие:

Скачать исходный код примера вы можете по этой ссылке.

Пример использования плагина jScrollPane: Пример

 

Копирование данного материала на другие сайты строго запрещено авторскими правами и преследуется по закону.

Материал подготовлен компанией NoxIT

Список статей

 

Copyright © 2009-2011 NoxIT.ru. Все права защищены
Карта сайта: SiteMap