aboutsummaryrefslogtreecommitdiff
path: root/js/jquery.notifybar.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/jquery.notifybar.js')
-rw-r--r--js/jquery.notifybar.js97
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