I've a function called fadeIn and I want to return it until a condition is met.
I tried to put an alert in the else line along with clearInterval(myVar), but it just keeps alerting.
CSS:
* {
    background-color: black;
    padding: 0;
    margin: 0;
    height: 100%;
}
#title {
    background-color: white;
    height: 50px;
}
audio {
    display: none;
}
#audio-icon {
    width: 50px;
    background-color: white;
}
#focus {
    background-color: black;
    margin: auto;
    width: 100%;
    height: 700px;
    border: 5px, solid, grey;
    border-style: inset;
    border-radius: 10px;
}
#text-box {
    background-color: black;
    width: 100%;
    height: 200px;
    margin-top: 500px;
    float: left;
    border: 5px, solid, grey;
    border-style: inset;
    border-radius: 10px;
}
#command-line {
    background-color: black;
    width: 100%;
    height: 50px;
    margin-top: 150px;
    float: left;
    border: 5px, solid, grey;
    border-style: inset;
    border-radius: 10px;
}
#element {
    opacity: 0.1;
}
HTML:
<audio id="background-audio" controls autoplay="autoplay" loop>
    <source src="Darkness.mp3" type="audio/mpeg">
</audio>
<div id="title">
    <img id="audio-icon" src="unmute.png" onclick="mute()">
    <img id="element" src="123.png">
</div>
<div id="focus">
    <div id="text-box">
        <div id="command-line"></div>
    </div>
</div>
JavaScript:
function fadeIn() {
    var myVar = setInterval(fadeIn, 500);
    var element = document.getElementById('element');
    if (element.style.opacity < 1) {
        element.style.opacity -= '-0.1';
    } else {
        clearInterval(myVar);
    }
}
function mute() {
    var audio = document.getElementById('background-audio');
    var img = document.getElementById('audio-icon');
    if (audio.muted) {
        audio.muted = false;
        img.src = 'unmute.png';
    } else {
        audio.muted = true;
        img.src = 'mute.png';
    }
}
document.onload = fadeIn();
UPDATE:
I have put the variables outside of the function and all of the sudden my code seems to work correctly. Not sure how this is possible since I have tried this already. My code wouldn't run at all and alert would keep alerting. Anyway thanks for all the help. This was my first question so apart from a few typos and the way I listed my code I don't really know why I get downvoted so any feedback about that is welcome! Here is my current working code:
<script>
            var myVar = setInterval(fadeIn, 500);
            var element = document.getElementById('element');
            function fadeIn() {
                console.log(element.style.opacity)
                if (element.style.opacity < 1) {
                element.style.opacity -= '-0.1';
                } else {
                clearInterval(myVar);
                }
            }
            function mute() {
            var audio = document.getElementById('background-audio');
            var img = document.getElementById('audio-icon');
            if (audio.muted) {
                audio.muted = false;
                img.src = 'unmute.png';
            } else {
                audio.muted = true;
                img.src = 'mute.png';
            }
        }
        document.onload = fadeIn();
        </script>
 
     
    