JavaScript - ajouter des transition entre display:none et display:block

Je suis à l'aide de JavaScript pour basculer de notification comme ci-dessous.
Comment puis-je ajouter de la transition entre display: block et display: none;

Je ne veux pas ajouter une bibliothèque externe comme jQuery parce que je ne vais qu'à l'aide de la toggle effet seul.

JS:

var btn = document.querySelector('button');

btn.addEventListener('click', function(){
  var hint = document.getElementById('hint');
  if(hint.style.display == 'none'){
    hint.style.display = 'block';
  }
  else{
    hint.style.display = 'none';
  }

});

CSS:

div#hint{
  background: gold;
  color: orangered;
  padding: .5em;
  font-weight: bold;
}

HTML:

<div id='hint'>
  
  <p>This is some hint on how to be safe in this community </p>
   <p>This is another hint on how to be safe in this community </p>
  </div>

<button> show hint </button>

Je sais que je peux utiliser jQuery pour réaliser ce comme ci-dessous.

JS:

$(document).ready(function(){

$('button').click(function(){
$('#hint').toggle('slow');

});

});

CSS:

div#hint{
  background: gold;
  color: orangered;
  padding: .5em;
  font-weight: bold;
}

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='hint'>
      
      <p>This is some hint on how to be safe in this community </p>
       <p>This is another hint on how to be safe in this community </p>
      </div>

    <button> show hint </button>

Puis-je faire sur le bouton monte et descend progressivement pendant le #hint est en train de basculer, comme dans le jQuery exemple ci-dessus? Je ne veux pas le bouton pour sauter d'une position à une autre.

InformationsquelleAutor Abk | 2016-11-06