init
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
/*!
|
||||
* Ambiance - Notification Plugin for jQuery
|
||||
* Version 1.0.1
|
||||
* @requires jQuery v1.7.2
|
||||
*
|
||||
* Copyright (c) 2012 Richard Hsu
|
||||
* Documentation: http://www.github.com/richardhsu/jquery.ambiance
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$.fn.ambiance = function(options) {
|
||||
|
||||
var defaults = {
|
||||
title: "",
|
||||
message: "",
|
||||
type: "default",
|
||||
permanent: false,
|
||||
timeout: 2,
|
||||
fade: true,
|
||||
width: 300
|
||||
};
|
||||
|
||||
var options = $.extend(defaults, options);
|
||||
var note_area = $("#ambiance-notification");
|
||||
|
||||
// Construct the new notification.
|
||||
var note = $(window.document.createElement('div'))
|
||||
.addClass("ambiance")
|
||||
.addClass("ambiance-" + options['type']);
|
||||
|
||||
note.css({width: options['width']});
|
||||
|
||||
|
||||
// Deal with adding the close feature or not.
|
||||
if (!options['permanent']) {
|
||||
note.prepend($(window.document.createElement('a'))
|
||||
.addClass("ambiance-close")
|
||||
.attr("href", "#_")
|
||||
.html("×"));
|
||||
}
|
||||
|
||||
// Deal with adding the title if given.
|
||||
if (options['title'] !== "") {
|
||||
note.append($(window.document.createElement('div'))
|
||||
.addClass("ambiance-title")
|
||||
.append(options['title']));
|
||||
}
|
||||
|
||||
// Append the message (this can also be HTML or even an object!).
|
||||
note.append(options['message']);
|
||||
|
||||
// Add the notification to the notification area.
|
||||
note_area.append(note);
|
||||
|
||||
// Deal with non-permanent note.
|
||||
if (!options['permanent']) {
|
||||
if (options['timeout'] != 0) {
|
||||
if (options['fade']) {
|
||||
note.delay(options['timeout'] * 1000).fadeOut('slow');
|
||||
note.queue(function() { $(this).remove(); });
|
||||
} else {
|
||||
note.delay(options['timeout'] * 1000)
|
||||
.queue(function() { $(this).remove(); });
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
$.ambiance = $.fn.ambiance; // Rename for easier calling.
|
||||
})(jQuery);
|
||||
|
||||
$(document).ready(function() {
|
||||
// Deal with adding the notification area to the page.
|
||||
if ($("#ambiance-notification").length == 0) {
|
||||
var note_area = $(window.document.createElement('div'))
|
||||
.attr("id", "ambiance-notification");
|
||||
$('body').append(note_area);
|
||||
}
|
||||
});
|
||||
|
||||
// Deal with close event on a note.
|
||||
$(document).on("click", ".ambiance-close", function () {
|
||||
$(this).parent().remove();
|
||||
return false;
|
||||
});
|
||||
Reference in New Issue
Block a user