Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dimaslanjaka/4f175ea18240375b45345741963d9c89 to your computer and use it in GitHub Desktop.
Save dimaslanjaka/4f175ea18240375b45345741963d9c89 to your computer and use it in GitHub Desktop.
Generate Bootstrap Alerts with Javascript

Generate Bootstrap Alerts with Javascript

Use a JavaScript method to add bootstrap alerts to the dom all animated and what not. Also has a self destruct option

A Pen by Cody Sechelski on CodePen.

License.

<div id="pageMessages">
</div>
<div class="jumbotron">
<div class="container">
<h1>Let's create some Alerts</h1>
</div>
</div>
<div class="container">
<button class="btn btn-danger" onclick="createAlert('Opps!','Something went wrong','Here is a bunch of text about some stuff that happened.','danger',true,false,'pageMessages');">Add Danger Alert</button>
<button class="btn btn-success" onclick="createAlert('','Nice Work!','Here is a bunch of text about some stuff that happened.','success',true,true,'pageMessages');">Add Success Alert</button>
<button class="btn btn-info" onclick="createAlert('BTDubs','','Here is a bunch of text about some stuff that happened.','info',false,true,'pageMessages');">Add Info Alert</button>
<button class="btn btn-warning" onclick="createAlert('','','Here is a bunch of text about some stuff that happened.','warning',false,true,'pageMessages');">Add Warning Alert</button>
</div>
function createAlert(title, summary, details, severity, dismissible, autoDismiss, appendToId) {
var iconMap = {
info: "fa fa-info-circle",
success: "fa fa-thumbs-up",
warning: "fa fa-exclamation-triangle",
danger: "fa ffa fa-exclamation-circle"
};
var iconAdded = false;
var alertClasses = ["alert", "animated", "flipInX"];
alertClasses.push("alert-" + severity.toLowerCase());
if (dismissible) {
alertClasses.push("alert-dismissible");
}
var msgIcon = $("<i />", {
"class": iconMap[severity] // you need to quote "class" since it's a reserved keyword
});
var msg = $("<div />", {
"class": alertClasses.join(" ") // you need to quote "class" since it's a reserved keyword
});
if (title) {
var msgTitle = $("<h4 />", {
html: title
}).appendTo(msg);
if(!iconAdded){
msgTitle.prepend(msgIcon);
iconAdded = true;
}
}
if (summary) {
var msgSummary = $("<strong />", {
html: summary
}).appendTo(msg);
if(!iconAdded){
msgSummary.prepend(msgIcon);
iconAdded = true;
}
}
if (details) {
var msgDetails = $("<p />", {
html: details
}).appendTo(msg);
if(!iconAdded){
msgDetails.prepend(msgIcon);
iconAdded = true;
}
}
if (dismissible) {
var msgClose = $("<span />", {
"class": "close", // you need to quote "class" since it's a reserved keyword
"data-dismiss": "alert",
html: "<i class='fa fa-times-circle'></i>"
}).appendTo(msg);
}
$('#' + appendToId).prepend(msg);
if(autoDismiss){
setTimeout(function(){
msg.addClass("flipOutX");
setTimeout(function(){
msg.remove();
},1000);
}, 5000);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
#pageMessages {
position: fixed;
bottom: 15px;
right: 15px;
width: 30%;
}
#pageMessages .alert {
position: relative;
}
#pageMessages .alert .close {
position: absolute;
top: 5px;
right: 5px;
font-size: 1em;
}
#pageMessages .alert .fa {
margin-right:.3em;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.3/animate.min.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment