I've been trying to create a fadeIn & fadeOut animation using VanillaJS in my project but I literally don't understand what's the problem. I'm using SCSS. I made it simple for you.
I tried visibility but it didn't work too. like it appears e.g. for 200ms but then immediately disappears. In another way of explanation, it appears whenever I click on it (stable) and then goes away after 200ms (unstable).
const fade = () => {
  const box = document.querySelector('#box');
  
  box.classList.toggle('fade');
};
document.querySelector('#fadebtn').addEventListener('click', fade);#box {
  width: 70px;
  height: 50px;
  background: #FD7A6B;
  display: none;
  opacity: 0;
  -webkit-transition: 200ms ease-in-out;
  -moz-transition: 200ms ease-in-out;
  -o-transition: 200ms ease-in-out;
  transition: 200ms ease-in-out;
}
#box.fade {
  display: block !important;
  opacity: 1 !important;
}
// I also tried this, wondered it may work, but didn't.
// .fade {
  // display: block !important;
  // opacity: 1 !important;
// }<button type="button" id="fadebtn">Fade</button>
<div id="box"></div> 
     
    