You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.2 KiB
52 lines
1.2 KiB
/*jslint unparam: true, browser: true, indent: 2 */ |
|
|
|
;(function ($, window, document, undefined) { |
|
'use strict'; |
|
|
|
Foundation.libs.alerts = { |
|
name : 'alerts', |
|
|
|
version : '4.2.2', |
|
|
|
settings : { |
|
speed: 300, // fade out speed |
|
callback: function (){} |
|
}, |
|
|
|
init : function (scope, method, options) { |
|
this.scope = scope || this.scope; |
|
|
|
if (typeof method === 'object') { |
|
$.extend(true, this.settings, method); |
|
} |
|
|
|
if (typeof method !== 'string') { |
|
if (!this.settings.init) { this.events(); } |
|
|
|
return this.settings.init; |
|
} else { |
|
return this[method].call(this, options); |
|
} |
|
}, |
|
|
|
events : function () { |
|
var self = this; |
|
|
|
$(this.scope).on('click.fndtn.alerts', '[data-alert] a.close', function (e) { |
|
e.preventDefault(); |
|
$(this).closest("[data-alert]").fadeOut(self.speed, function () { |
|
$(this).remove(); |
|
self.settings.callback(); |
|
}); |
|
}); |
|
|
|
this.settings.init = true; |
|
}, |
|
|
|
off : function () { |
|
$(this.scope).off('.fndtn.alerts'); |
|
}, |
|
|
|
reflow : function () {} |
|
}; |
|
}(Foundation.zj, this, this.document));
|
|
|