title: setInterval not working properly on Chrome
body: <p>I have a custom made slideshow object to perform the usual stuff the name indicates on a website. It all works well except when I switch tabs in Chrome and come back to the website tab. When that happens, the slideshow goes nuts and starts fading the images disregarding the <code>setInterval</code> interval given. Can't find anyhing related to this, so I'd like to at least know if it's a problem with the code or a software issue.</p>
  
  <p>Here's the code (being used with jQuery) :</p>
  
  <pre><code>$(function() {
  
      // slideshow
      var slideshow = {
          id : false,
          current : 0,
          count : 0,
          interval : false,
          init : function(data) {
              if (!data)
                  return false;
  
              $.each(data, $.proxy(
                  function(index, value) {
                      this[index] = data[index];
                  }, this)
              );
  
              this.count = this.images.length;
  
              for (x=1;x&lt;=this.count;x++)
                  $('#slider ul.nav').append('&lt;li&gt;&lt;/li&gt;');
  
              $('#slider ul.nav li').live('click', function()
              {
                  slideshow.click(this);
              });
  
              $('#slider ul.nav li:eq(0)').addClass('on');
              $('#slider ul.nav').css('width', (15*this.count)+'px');
  
              return true;
          },
          start : function () {
              slideshow.id = setInterval(function() { slideshow.action(); }, slideshow.options.interval);
          },
          stop : function() {
              clearInterval(slideshow.id);
          },
          action : function() {
              slideshow.current &lt; (slideshow.count-1) ? slideshow.current++ : slideshow.current = 0;
  
              $('#slider img').fadeOut('normal', function() {
                  $('#slider img').attr('src', slideshow.images[slideshow.current].url);
                  $('#slider ul.nav li').removeClass('on');
                  $('#slider ul.nav li:eq('+slideshow.current+')').addClass('on');
                  $('#slider div.title').html(slideshow.images[slideshow.current].title);
                  $('#slider div.description').html(slideshow.images[slideshow.current].description);
                  $('#slider a.more').attr('href', slideshow.images[slideshow.current].target);
              }).fadeIn('normal');
  
              return true;
          },
          click : function(o) {
              slideshow.stop();
  
              var index = $('#slider ul.nav li').index(o);
              slideshow.current = index;
  
              $('#slider img').fadeOut('normal', function() {
                  $('#slider img').attr('src', slideshow.images[index].url);
                  $('#slider ul.nav li').removeClass('on');
                  $(o).addClass('on');
                  $('#slider div.title').html(slideshow.images[index].title);
                  $('#slider div.description').html(slideshow.images[index].description);
                  $('#slider a.more').attr('href', slideshow.images[index].target);
              }).fadeIn('normal');
  
              slideshow.start();
              return true;
          },
      };
  
      slideshow.init(slider);
      slideshow.start();
  
  });
  </code></pre>