No puedo resolverlo y siento que esto está jugando con mi código en un ámbito más amplio. ¿No debería estar muerto 0? ¿Qué me estoy perdiendo?
var opacity = 1; function FadeOut() { fadeOutTimer = setInterval(() => { console.log(opacity); if (opacity <= 0) { opacity = 1; clearTimeout(fadeOutTimer); return; } opacity = (opacity <= 0) ? 0 : opacity - 0.1; }, 15); } <button onclick="FadeOut()" type="button"> Test </button>