/** * Bootstrap Modal with pure Javascript * Usage: * var my_modal = new bsModal(); * my_modal.setBody('Some content'); * my_modal.setFooter('Footer'); * my_modal.modal.modal('show'); * @param {[object]} options [css classes] */ var bsModal = function (options) { var modalMarkup = ''; this.modal = $('#bsModal'); // Remove modal if there's already one this.modal.remove(); // Append markup $(document.body).append(modalMarkup); this.modal = $('#bsModal'); this.modalHeader = this.modal.find('.modal-header .modal-title'); this.modalBody = this.modal.find('.modal-body'); // Kill on Hide this.modal.on('hidden.bs.modal', function () { $(this).remove(); }); // Set variant class this.setClasses = function (classes) { this.modal.addClass(classes); }; // Set Body this.setBody = function (markup) { this.modalBody.html(markup); }; // Set Body this.setHeader = function (markup) { this.modalHeader.html(markup); }; // Set Footer this.setFooter = function (markup) { this.modalBody.after(''); }; // Display modal this.show = function (delay) { var that = this; delay = Number(delay); if ($.isNumeric(delay)) { var timeid = setTimeout(function() { that.modal.modal('hide'); }, delay); } this.modal.modal('show'); }; };