jGrowl
~lt~tit~gt~Простое использование~lt~/tit~gt~
~lt~coment~gt~Вывести уведомление с помощью jGrowl очень просто. Не сложнее чем вызвать alert (но в отличие от последнего, jGrowl не приостановит выполнения других скриптов на странице). По умолчанию, уведомление исчезнет через 3 секунды. Это время можно изменить, а можно сделать так, чтобы оно вообще не исчезало. Для этого необходимо установить опцию sticky в true.~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl("Hello world!", {sticky:true});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Заголовки~lt~/tit~gt~
~lt~coment~gt~В параметре header можно задать заголовки к уведомлениям.~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl("Кодинг в нетрезвом виде может привести к непоправимым последствиям! ~lt~br~gt~ Достаточно посмотреть на IE 6", {header:'Программист, будь бдителен!', sticky:true});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Оформление~lt~/tit~gt~
~lt~coment~gt~У уведомлений jGrowl очень просто изменить оформление. В параметре theme можно указать класс, который будет присвоен всем элементам уведомлений. Можно задать стили для этого класса самостоятельно, а можно например использовать стили jQuery UI (стилизация уведомлений jGrowl тесно связана с jQuery UI).~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~link href='/ui/jqueryui.custom.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl("Hello world!", {sticky:true, theme:'ui-state-highlight'});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Расположение~lt~/tit~gt~
~lt~coment~gt~Уведомления могут располагаться в пяти местах: четырех углах и центре страницы. За расположение отвечает свойство position.~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl.defaults.position = 'bottom-left';
$.jGrowl("Hello world!", {sticky:true});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Порядок вставки~lt~/tit~gt~
~lt~coment~gt~По умолчанию, каждое следующее уведомление появляются (располагается) после предыдущего. Это можно изменить с помощью свойства glue, установив его в 'before'.~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~script src="/ui/jqueryui.custom.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl.defaults.closer = false;
$.jGrowl("Hello world!", {glue:'before'});
$.jGrowl("Hello world 2!", {glue:'before'});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Элемент closer~lt~/tit~gt~
~lt~coment~gt~Если открываются более одного уведомления, то вместе с ними появляется элемент closer, нажатие по которому приводит к закрытию всех уведомлений. Появление этого элемента можно отменить, если отключить свойство closer.~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl("Hello world!", {sticky:true});
$.jGrowl("Hello world 2!", {sticky:true});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
~lt~--------------------------~gt~
~lt~tit~gt~Анимация~lt~/tit~gt~
~lt~coment~gt~По умолчанию, появление и исчезновение уведомлений происходит с анимацией fadeIn и fadeOut. Но с помощью свойств animateOpen, animateClose, easing и speed можно можно задавать и настраивать самостоятельно. (Подробности работы с анимациями можно найти в разделе Эффекты, на этом сайте)~lt~/coment~gt~
~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
~lt~meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /~gt~
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="/plagins/jGrowl/jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~script src="/ui/jqueryui.custom.js"~gt~~lt~/script~gt~
~lt~link href='/plagins/jGrowl/jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
~lt~/head~gt~
~lt~body~gt~
~lt~script~gt~
$.jGrowl("Hello world!", {
animateOpen:{width:'show', opacity:'show'},
animateClose:{width:'hide', opacity:'hide'},
speed:100,
easing:'linear'
});
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~
Описание
Свойства
Оформление
Плагин jGrowl позволяет выводить уведомления на странице. После подключения плагина это будет не сложнее чем вызвать alert (но в отличие от последнего, jGrowl не приостановит выполнения других скриптов на странице).
Плагин обладает настраиваемым оформлением (см. вкладку Оформление), полезными исчерпывающими настройками и позволяет обрабатывать основные события: открытие и закрытие уведомлений (причем обработчики разделены на момент перед открытием/закрытием и по их завершению. Подробности во вкладке Свойства).
Подключение
Чтобы плагин стал доступен на странице необходимо подключить файл с библиотекой jQuery, а так же файлы js и css плагина: (их можно скачать на официальной странице):
~lt~script src="https://code.jquery.com/jquery-latest.min.js"~gt~~lt~/script~gt~
~lt~script src="jquery.jgrowl_minimized.js"~gt~~lt~/script~gt~
~lt~link href='jquery.jgrowl.css' rel='stylesheet' type='text/css'~gt~
Информация
- Размер плагина ~11k (js+css)
- Официальная страница
- Кроссбраузерный (работает во всех современных браузерах)
↓ название :типы значений (значение по умолчанию)
В этом свойстве можно задать заголовок уведомления.
// ------- Работа со свойством header ---------
// при вызове уведомления
$.jGrowl('Hello world!', {header:'Hey!'});
Если установить этому свойству значение
true, то появившееся уведомление не будет исчезать автоматически, с течением времени. Иначе, время существования уведомления задается в свойстве
life.
// ------- Работа со свойством sticky ---------
// при вызове уведомления
$.jGrowl('Hello world!', {sticky:true});
Определяет, каким образом будут добавляться новые уведомления, если не старые еще на экране. Возможные значения
'before' и
'after' (до и после).
// ------- Работа со свойством glue ---------
// при вызове уведомления
$.jGrowl('Hello world!', {glue:'before'});
Определяет расположение уведомлений. Возможные значения:
'top-left',
'top-right',
'bottom-left',
'bottom-right' и
'center'.
Это свойство необходимо устанавливать в настройках по умолчанию ($.jGrowl.defaults), до запуска первого уведомления.
// ------- Работа со свойством position ---------
$.jGrowl.defaults.position = 'bottom-right';
$.jGrowl('Hello world!');
Задает класс, который будет присвоен элементу с запускаемым уведомлением.
// ------- Работа со свойством theme ---------
$.jGrowl('Hello world!', {theme:'blackAlert'});
Если к странице подключен плагин jQuery corners, то с помощью этого свойства можно задать радиус скругления уголков у элементов уведомлений.
// ------- Работа со свойством corners ---------
$.jGrowl('Hello world!', {corners:'3px'});
Определяет период (в миллисекундах) через который будет происходить проверка необходимости закрытия активных уведомлений на экране.
Это свойство необходимо устанавливать в настройках по умолчанию ($.jGrowl.defaults), до запуска первого уведомления.
// ------- Работа со свойством check ---------
$.jGrowl.defaults.check= 300;
$.jGrowl('Hello world!');
Определяет время жизни уведомления. Имеет смысл только при выключенном параметре
sticky. Если он включен, то уведомление будет оставаться на экране, до тех пор, пока пользователь не закроет его вручную.
// ------- Работа со свойством life ---------
$.jGrowl('Hello world!', {life:10000});
Определяет время выполнения
анимации открытия и закрытия уведомлений. Кроме этого свойства, в настройке анимации участвуют так же
easing,
animateOpen и
animateClose.
// ------- Работа со свойством speed ---------
$.jGrowl('Hello world!', {speed:100});
Определяет динамику выполнения
анимации открытия и закрытия уведомлений. Кроме этого свойства, в настройке анимации участвуют так же
speed,
animateOpen и
animateClose.
// ------- Работа со свойством easing ---------
$.jGrowl('Hello world!', {easing:'linear'});
Определяет, нужно ли создавать элемент closer (он будет появляться когда открыто более одной вкладки. При нажатии на него все вкладки будут закрыты). Это свойство может быть задано функцией, которая будет вызываться при нажатии на элемент closer.
closer необходимо устанавливать в настройках по умолчанию ($.jGrowl.defaults), до запуска первого уведомления.
// ------- Работа со свойством closer ---------
$.jGrowl.defaults.closer = false;
$.jGrowl('Hello world!');
Определяет содержимое элемента закрывающего уведомление. По умолчанию, это '×', являющейся кодом спецсимвола '×' (крестик).
Это свойство необходимо устанавливать в настройках по умолчанию ($.jGrowl.defaults), до запуска первого уведомления.
// ------- Работа со свойством closeTemplate ---------
$.jGrowl.defaults.closeTemplate = 'закройся!';
$.jGrowl('Hello world!');
closerTemplate:string('<div>[ close all ]'</div>')
Определяет содержимое элемента closer — элемента закрывающего ВСЕ уведомления.
Это свойство необходимо устанавливать в настройках по умолчанию ($.jGrowl.defaults), до запуска первого уведомления.
// ------- Работа со свойством closerTemplate ---------
$.jGrowl.defaults.closerTemplate = '~lt~div~gt~[ Закрыть все ]~lt~/div~gt~';
$.jGrowl('Hello world!');
Функция заданная в этом свойстве будет вызываться непосредственно перед открытием уведомления, раньше всех других обработчиков.
log создано на случай, если на сайте ведется система логов (записи) происходящих уведомлений. При вызове, функция будет получать три параметра:
- Объект jQuery с текущим элементом уведомления.
- Текст сообщения.
- Объект с текущими настройками. Если необходимо получить заголовок уведомления, его нужно будет вытаскивать отсюда. Во втором параметре заголовок фигурировать не будет.
// ------- Работа со свойством log ---------
$.jGrowl.defaults.log = function($e, m, o){
logSystem.add(o.header, m);
};
$.jGrowl('Hello world!');
Функция которая будет вызываться непосредственно перед открытием уведомления. При вызове, функция будет получать три параметра:
- Объект jQuery с текущим элементом уведомления.
- Текст сообщения.
- Объект с текущими настройками. Если необходимо получить заголовок уведомления, его нужно будет вытаскивать отсюда. Во втором параметре заголовок фигурировать не будет.
// ------- Работа со свойством beforeOpen ---------
$.jGrowl.defaults.beforeOpen = function($e, m, o){
alert('Сейчас будет открыто уведомление');
};
$.jGrowl('Hello world!');
Функция которая будет вызываться сразу после открытия уведомления. При вызове, функция будет получать три параметра:
- Объект jQuery с текущим элементом уведомления.
- Текст сообщения.
- Объект с текущими настройками. Если необходимо получить заголовок уведомления, его нужно будет вытаскивать отсюда. Во втором параметре заголовок фигурировать не будет.
// ------- Работа со свойством open ---------
$.jGrowl.defaults.open = function($e, m, o){
alert('Уведомление открыто');
};
$.jGrowl('Hello world!');
Функция которая будет вызываться непосредственно перед закрытием уведомления. При вызове, функция будет получать три параметра:
- Объект jQuery с текущим элементом уведомления.
- Текст сообщения.
- Объект с текущими настройками. Если необходимо получить заголовок уведомления, его нужно будет вытаскивать отсюда. Во втором параметре заголовок фигурировать не будет.
// ------- Работа со свойством beforeClose ---------
$.jGrowl.defaults.beforeClose = function($e, m, o){
alert('Уведомление сейчас будет закрыто');
};
$.jGrowl('Hello world!');
Функция которая будет вызываться сразу после закрытия уведомления. При вызове, функция будет получать три параметра:
- Объект jQuery с текущим элементом уведомления.
- Текст сообщения.
- Объект с текущими настройками. Если необходимо получить заголовок уведомления, его нужно будет вытаскивать отсюда. Во втором параметре заголовок фигурировать не будет.
// ------- Работа со свойством close ---------
$.jGrowl.defaults.close = function($e, m, o){
alert('Уведомление закрыто');
};
$.jGrowl('Hello world!');
animateOpen:object({opacity:'show'})
В данном объекте можно настроить
вид анимации, с которой будет происходить открытие уведомления. Кроме этого свойства, в настройке анимации участвуют так же
easing,
speed и
animateClose.
Замечание: странным образом, у меня не стали работать анимации, в которых участвовало свойство height.
// ------- Работа со свойством animateOpen ---------
$.jGrowl('Hello world!', { animateOpen:{width:'show'} });
animateClose:object({opacity:'hide'})
В данном объекте можно настроить
вид анимации, с которой будет происходить закрытие уведомления. Кроме этого свойства, в настройке анимации участвуют так же
easing,
speed и
animateOpen.
Замечание: странным образом, у меня не стали работать анимации, в которых участвовало свойство height.
// ------- Работа со свойством animateClose ---------
$.jGrowl('Hello world!', { animanimateCloseateOpen:{width:'hide'} });
Основой оформления является свойство theme, в котором можно указать класс для элементов с содержимым уведомлений. Оформление jGrowl связано с темизацией jQuery UI. Благодаря этому можно настраивать внешний вид уведомлений с ее помощью:
- Сделать необходимые настройки в ThemeRoller (логичнее всего будет настроить стили Highlight для блоков с уведомлениями).
- Скачать получившиеся файлы со стилями и изображениями.
- Подключить css к странице
- Указать нужный класс в параметре theme (если вы настраивали оформление для Highlight, то соответствующий класс будет ui-state-highlight).
Естественно, можно задать стили для указанного в theme класса самостоятельно и не прибегать к помощи jQuery UI.