diff options
Diffstat (limited to 'js/jquery.notifybar.js')
| -rw-r--r-- | js/jquery.notifybar.js | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/js/jquery.notifybar.js b/js/jquery.notifybar.js new file mode 100644 index 0000000..b504407 --- /dev/null +++ b/js/jquery.notifybar.js @@ -0,0 +1,97 @@ +/* +* Notify Bar - jQuery plugin +* +* Copyright (c) 2009-2010 Dmitri Smirnov +* +* Licensed under the MIT license: +* http://www.opensource.org/licenses/mit-license.php +* +* Version: 1.2.2 +* +* Project home: +* http://www.dmitri.me/blog/notify-bar +*/ + +/** +* param Object +*/ +jQuery.notifyBar = function(settings) { + + (function($) { + + var bar = notifyBarNS = {}; + notifyBarNS.shown = false; + + if( !settings) { + settings = {}; + } + // HTML inside bar + notifyBarNS.html = settings.html || "Your message here"; + + //How long bar will be delayed, doesn't count animation time. + notifyBarNS.delay = settings.delay || 2000; + + //How long notifyBarNS bar will be slided up and down + notifyBarNS.animationSpeed = settings.animationSpeed || 200; + + //Use own jquery object usually DIV, or use default + notifyBarNS.jqObject = settings.jqObject; + + //Set up own class + notifyBarNS.cls = settings.cls || ""; + + //close button + notifyBarNS.close = settings.close || false; + + if( notifyBarNS.jqObject) { + bar = notifyBarNS.jqObject; + notifyBarNS.html = bar.html(); + } else { + bar = jQuery("<div></div>") + .addClass("jquery-notify-bar") + .addClass(notifyBarNS.cls) + .attr("id", "__notifyBar"); + } + + bar.html(notifyBarNS.html).hide(); + var id = bar.attr("id"); + switch (notifyBarNS.animationSpeed) { + case "slow": + asTime = 600; + break; + case "normal": + asTime = 400; + break; + case "fast": + asTime = 200; + break; + default: + asTime = notifyBarNS.animationSpeed; + } + if( bar != 'object'); { + jQuery("body").prepend(bar); + } + + // Style close button in CSS file + if( notifyBarNS.close) { + bar.append(jQuery("<a href='#' class='notify-bar-close'>Close [X]</a>")); + jQuery(".notify-bar-close").click(function() { + if( bar.attr("id") == "__notifyBar") { + jQuery("#" + id).slideUp(asTime, function() { jQuery("#" + id).remove() }); + } else { + jQuery("#" + id).slideUp(asTime); + } + return false; + }); + } + + bar.slideDown(asTime); + + // If taken from DOM dot not remove just hide + if( bar.attr("id") == "__notifyBar") { + setTimeout("jQuery('#" + id + "').slideUp(" + asTime +", function() {jQuery('#" + id + "').remove()});", notifyBarNS.delay + asTime); + } else { + setTimeout("jQuery('#" + id + "').slideUp(" + asTime +", function() {jQuery('#" + id + "')});", notifyBarNS.delay + asTime); + } + +})(jQuery) };
\ No newline at end of file |