title: Javascript Not Working When Tab Not Active
body: <p>So, I have a code here that works perfectly fine when I am viewing it in the active browser tab. But, as soon as I minimize or switch between other tabs of the browser (which is chrome by the way) the code starts giving issues. Here is the code below:</p>
  
  <pre><code>var a = document.getElementById("slidermain");
  var b = a.getElementsByTagName("IMG");
  var len = b.length;
  
  var noOpac = 0;
  var fullOpac = 10;
  var imgNumb = 0;
  
  function initFade(count){
      imgNumb = imgNumb + count;
      if(imgNumb &lt; 0){
          imgNumb = len;  
      }
      if(imgNumb &gt; len){
          imgNumb = 1;    
      }
      elem = b[imgNumb-1];
      startFadeEffect(elem);
  }
  
  function startFadeEffect(elem){
      var opacSetting = noOpac / 10;
      if(noOpac &gt; 10){
          opacSetting = 1;    
      }
      elem.style.opacity = opacSetting;   
      elem.style.display = "block";
      noOpac++;
      var timer = setTimeout(function() { startFadeEffect(elem); }, 55);
      if(opacSetting == 1){
          clearTimeout(timer);
          elem.style.opacity = 1;
          noOpac = 0;
          setTimeout(function() { endFadeEffect(elem); }, 2000);
      }
  }
  
  function endFadeEffect(elem){
      var opacSetting = fullOpac / 10;
      if(fullOpac &lt; 0){
          opacSetting = 0;    
      }
      elem.style.opacity = opacSetting;   
      fullOpac--;
      var timer = setTimeout(function() { endFadeEffect(elem); }, 55);
      if(opacSetting == 0){
          clearTimeout(timer);
          elem.style.opacity = 0;
          elem.style.display = "none";
          fullOpac = 10;
          return false;
      }
  }
  
  function autoFade(){
      var loop = setInterval("initFade(1)", 4000);    
  }
  </code></pre>
  
  <p><strong><em>Please not that I have been looking on this site for the answer, but mostly the ones I have found are JQuery based solutions; however, I am looking for a JavaScript only solution in which I might not have to use the get new date function. Please do not mark my question as duplicate as I have done good research. Thanks!</em></strong></p>