Cómo hacer efecto de desvanecimiento con JavaScript puro

Estoy tratando de hacer un efecto de desvanecimiento para undiv conJavaScript puro.

Esto es lo que estoy usando actualmente:

//Imagine I want to fadeOut an element with id = "target"
function fadeOutEffect()
{
 var fadeTarget = document.getElementById("target");
 var fadeEffect = setInterval(function() {
  if (fadeTarget.style.opacity < 0.1)
  {
   clearInterval(fadeEffect);
  }
  else
  {
   fadeTarget.style.opacity -= 0.1;
  }
 }, 200);
}

El div debería desvanecerse suavemente, pero desaparecerá de inmediato.

Que pasa ¿Cómo puedo resolverlo?

jsbin

Respuestas a la pregunta(4)

Su respuesta a la pregunta