>>>

Проектирование, разработка и оптимизация веб-приложений

Виджеты jQuery UI

jQuery UI предоставляет набор готовых виджетов предназначенных для создания пользовательского интерфейса веб-приложений.

Поведение виджетов может настраиваться с помощью передаваемых им опций.

Внешний вид виджетов может быть настроен:

  1. С помощью выбора одной из стандартных тем доступных при скачивании библиотеки;
  2. С помощью themeroller'a;
  3. Вручную путем редактирования файла jquery-ui-1.8.12.custom.css.

Общий вид создания виджетов jQuery UI выглядит примерно следующим образом:

  1. Группировка элементов на странице особым образом (индивидуально для каждого виджета);
  2. Применение к сгруппированным элементам специального метода, который превращает их в виджет.

Виджет accordion

Виджет accordion представляет собой группу объединенных выпадающих меню из которых только одно может быть отрыто одновременно.

Данный виджет используется для группировки информации на странице с целью экономии места.

Синтаксис:

/* 1. Группируем элементы: */ 
<div id="accordion">
// 1.1. Определяем заголовок элемента
<h2><a href="#head1">Заголовок 1</a></h2>
/* 1.2. Определяем содержимое элемента (значение атрибута id содержимого должно 
совпадать со значением href заголовка) */
<div id="head1">Содержимое 1</div>
</div>
// 2. Применяем метод к сгруппированным элементам: 
$("#accordion").accordion({опция1:значение1,опцияN:значениеN});

Обратите внимание: с помощью опций, передающихся методу, Вы можете настраивать дополнительные аспекты поведения виджетов. Виджетам может быть передано сразу несколько опций.

Пример

$(document).ready(function() {
   $("#accordion").accordion();
});

Виджет autocomplete

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

Предположения выводится в случае, если данные введенные пользователем совпадают со значением одного из элементов из списка данных.

Вы можете подключать к виджету как локальные (т.е. определенные в скрипте на этой же странице) так и удаленные списки (т.е. находящиеся на удаленном сервере).

Локальные списки удобны для хранения небольших наборов данных (например список улиц города), а удаленные списки подходят для хранения больших наборов данных (например база данных всех городов мира).

Синтаксис:

/* 1. Определяем элемент input, в который будет производиться ввод информации */
<input id='auto' />
/* 2. Превращаем input в виджет autocomplete */
$('#auto').autocomplete({опция1:значение1,опцияN:значениеN})

Подключить к виджету список данных можно с помощью опции source.

С помощью опции minLength Вы можете указать минимальное количество символов, которое должно содержать поле ввода прежде, чем поиск совпадений начнет выполнятся.

Пример

$(document).ready(function() {
   $("#auto1").autocomplete({source:["Дмитрий","Мария","Владимир","Алексей","Екатерина","Олег","Ольга"]});
});

Виджет datepicker

Виджет datepicker привязывает к текстовому полю интерактивный календарь, который отображается когда поле становится активным.

Если пользователь щелкнет на какую-либо дату в календаре она будет автоматически введена в текстовое поле как будто он ввел ее вручную.

Синтаксис:

// 1. Создадим текстовое поле
<input type='text' id='datepicker' />
// 2. Привяжем к нему виджет datepicker 
$('#datepicker').datepicker({опция1:значение1, опцияN:значениеN});

Пример

$(document).ready(function() {
   $("#datepicker").datepicker();
   $("#datepicker1").datepicker({
      monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],
      dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],
      firstDay:1,
      dateFormat:"dd.mm.yy"
   });
});

Оформление кнопок

С помощью метода button Вы можете стилизовать:

Синтаксис:

/* Если Вы хотите оформить только один элемент, необходимо выбрать его с помощью 
селектора и вызвать метод button: */
$("селектор").button({опция1:значение1, опцияN:значениеN});
/* Если Вы оформляете группу элементов, необходимо вначале сгруппировать элементы 
следующим образом: */
<div id="groupradio">
<input type="radio" name="radio" id="value1" />
<label for="value1">Радио кнопка 1</label>
<input type="radio" name="radio" id="value2" />
<label for="value2">Радио кнопка 2</label>
<input type="radio" name="radio" id="value3" />
<label for="value3">Радио кнопка 3</label>
</div> 
// И затем вызвать метод buttonset:
$("#groupradio").buttonset({опция1:значение1, опцияN:значениеN});

Пример

$(document).ready(function() {
   $("#but1,#but2,#but3,#but4").button();
   $("#group1,#group2").buttonset();
});

Виджет tabs

Виджет tabs как и виджет accordion используется для группировки информации на странице с целью экономии места.

Синтаксис:

// 1. Создаем шаблон: 
<div id="tabs">
// 1.1. Определяем заголовки вкладок
<ul>
<li><a href="#tabs-1">Вкладка 1</a></li>
<li><a href="#tabs-2">Вкладка 2</a></li>
<li><a href="#tabs-3">Вкладка 3</a></li>
</ul>
/* 1.2. Определяем содержимое вкладок (значение атрибута href заголовков
и значение атрибута id содержимого должно совпадать) */ 
<div id="tabs-1">
<p>Содержимое вкладки 1</p>
</div>
<div id="tabs-2">
<p>Содержимое вкладки 2.</p>
</div>
<div id="tabs-3">
<p>Содержимое вкладки 3.</p>
</div>
</div>
// 2. Превращаем шаблон в группу вкладок:
$("#tabs").tabs({опция1:значение1, опцияN:значениеN});

Пример

$(document).ready(function() {
   $("#tabs").tabs();
});

Диалоговые окна

С помощью метода dialog Вы можете превратить выбранный элемент в диалоговое окно.

Диалоговое окно отображается поверх текста страницы и содержит заголовок и поле с содержимым.

Диалоговое окно можно перетаскивать, растягивать и закрывать с помощью иконки "х" в верхнем правом углу окна. Если содержимое превышает размеры диалогового окна, то полоса прокрутки будет автоматически отображена.

Синтаксис:

/* 1. Сгруппируем элементы: */ 
<div id="dialog" title="Заголовок диалогового окна">
<p>Содержимое окна.</p>
</div>
// 2. Превратим сгруппированные элементы в диалоговое окно:
$( "#dialog" ).dialog({опция1:значение1, опцияN:значениеN});

Пример

$(document).ready(function() {
   $("#dialog1").dialog();
});

С помощью опции width и height Вы можете устанавливать высоту и ширину диалоговых окон.

Пример

$(document).ready(function() {
   $("#dialog1").dialog({width:400,height:300});
});

Опция modal позволяет сделать диалоговое окно модальным.

Модальные окна используются для привлечения дополнительного внимания со стороны пользователей. Пока открыто модальное окно пользователь не может взаимодействовать с другими элементами страницы.

Пример

$(document).ready(function() {
   $("#dialog1").dialog({modal:true,height:200,width:330});
});

Опция autoOpen устанавливает должно ли окно быть открыто автоматически после создания (значение true) или нет (значение false).

С помощью метода open Вы можете открыть, а с помощью метода close закрыть модальное диалоговое окно.

С помощью опции buttons Вы можете добавлять кнопки в диалоговые окна. Кнопки определяются в следующем формате: {Название_Кнопки : function(){Код который выполниться после нажатия на кнопку}}.

Обратите внимание: в одно диалоговое окно может быть добавлено несколько кнопок.

Пример

$(document).ready(function() {
   $("#dialog1").dialog({autoOpen:false,buttons:{
      OK:function(){
         $(this).dialog("close");
         alert("Вы нажали ОК");}}
   });
   $("#dialog2").dialog({autoOpen:false,buttons:{
      OK:function(){
         $(this).dialog("close");
         alert("Вы нажали ОК");},
      Отмена:function(){
         $(this).dialog("close");
         alert("Вы нажали Отмена");}}
   });
   $("#but1").click(function(){
      $("#dialog1").dialog("open");
   });
   $("#but2").click(function(){
      $("#dialog2").dialog("open"); 
   });
});

Виджет progressbar

С помощью виджета progressbar Вы можете отобразить полосу загрузки, которая будет информировать пользователя о состоянии выполнения какого-либо процесса.

Синтаксис:

/* 1. Создадим элемент: */ 
<div id="progressbar" ></div>
// 2. Превратим созданный элемент в полосу загрузки:
$("#progressbar" ).progressbar();

С помощью опции value Вы можете установить процент заполнения виджета progressbar.

Пример

$(document).ready(function() {
   $("#progressbar").progressbar({value:40});
});

Виджет slider

С помощью виджета slider Вы можете превратить выбранный элемент в ползунок.

Синтаксис:

// 1. Создадим элемент:
<div id="slider" ></div>
// 2. Превратим созданный элемент в ползунок:
$("#slider").slider();

Пример

$(document).ready(function() {
   $("#slider").slider();
});

Размер шрифта:
А
А
А
Цвет сайта:
A
A
A
Изображение:
Вкл.
Выкл.
Обычная версия