(function ($) { $.sticker = function (o) { o = $.extend({ // настройки по умолчанию time: 2000, // количество мс, которое отображается сообщение speed: 'fast', // скорость исчезания note: null, // текст сообщения className: null, // класс, добавляемый к сообщению sticked: false, // не выводить кнопку закрытия сообщения position: 'stick-top-right' // позиция по умолчанию - справа сверху }, o); addStick(o); }; var addStick = function(o) { var stickers = $('#' + o.position); if (!stickers.length) { // если его ещё не существует $('
', { id: o.position }).prependTo('body'); // добавляем его stickers = $('#' + o.position); } stickers.addClass(o.position); var stick = $('
').appendTo(stickers).addClass("stick " + o.className).html(o.note); // создаём стикер if (o.sticked) { // если сообщение закреплено $('
').prependTo(stick).click(function () { // при клике создаем кнопку закрытия fadeOut(stick, o); }); // кнопка отмены $("#no").click(function () { fadeOut(stick, o); });// кнопка подтверждения $("#ok").click(function () { fadeOut(stick, o); }); } else { // если же нет stick.click(function() { // при клике fadeOut(stick, o); }); setTimeout(function() { // устанавливаем таймер на необходимое время fadeOut(stick, o); }, o.time); } }; var fadeOut = function (item, o) { item.fadeOut(o.speed, function () { // скрываем стикер $(this).remove(); // по окончании анимации удаляем его }); }; })(jQuery);