JSFiddle - React, Tailwind, and code Playground
by vikaskbh
HTML
<input type="button" value="Fade In" onclick="fadeIn('#box')">
<hr/>
<div class="box animate" id="box"></div>
CSS
.box {
height: 100px;
width: 100px;
background-color: #4679BD;
border: 1px solid #335A8E;
border-radius: 5px;
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
box-shadow: 0 0 5px rgba(0,0,0,0.5);
display:none;
}
.animate {
-webkit-animation-duration: 0.6s;
-webkit-animation-timing-function: ease;
-moz-animation-timing-function: ease;
-ms-animation-timing-function: ease;
-o-animation-timing-function: ease;
animation-timing-function: ease;
-webkit-animation-iteration-count: 1;
-moz-animation-iteration-count: 1;
-ms-animation-iteration-count: 1;
-o-animation-iteration-count: 1;
animation-iteration-count: 1;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-ms-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
@keyframes "fadein" {
from {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
}
to {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
}
@-moz-keyframes fadein {
from {
filter: alpha(opacity=0);
opacity: 0;
}
to {
filter: alpha(opacity=100);
opacity: 1;
}
}
@-webkit-keyframes "fadein" {
from {
filter: alpha(opacity=0);
opacity: 0;
}
to {
filter: alpha(opacity=100);
opacity: 1;
}
}
@-ms-keyframes "fadein" {
from {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
}
to {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
}
@-o-keyframes "fadein" {
from {
filter: alpha(opacity=0);
opacity: 0;
}
to {
filter: alpha(opacity=100);
opacity: 1;
}
}
.fadein {
-webkit-animation-name: fadein;
-moz-animation-name: fadein;
-ms-animation-name: fadein;
-o-animation-name: fadein;
animation-name: fadein;
}
JavaScript
function fadeIn(find){
element = document.querySelector(find);
element.style.display="block";
element.className = "box animate";
resetClass(element);
addClass(element,"fadein");
}
function resetClass(el) {
var class_to_remove = ['slideup','slidedown','facein','fadeout'];
var each_class = el.className.split(" ");
newclass = [];
for (i=0 ; i < each_class.length ; i++) {
if(class_to_remove.indexOf(each_class[i]) >= 0){
continue;
}
newclass.push(each_class[i]);
}
el.className = newclass.join(" ");
}
function addClass(el,cl){
el.className = el.className + " " + cl;
}
function removeClass(el,cl){
var each_class = el.className.split(" ");
newclass = [];
for (i=0 ; i < each_class.length ; i++) {
if(each_class[i] == cl){
continue;
}
newclass.push(each_class[i]);
}
el.className = newclass.join(" ");
}