Question

Je suis en train de charger des éléments aléatoires dans un div toutes les quelques secondes, avec une belle transition fadeOut / fadeIn entre chaque charge. Voici le code:

<html>
  <body>
    <div id="item"></div>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
      // Load a random item
      var item = $('#item');
      function load_item() {
        item.fadeOut(5000, function() {
          item.load('http://dynamic.xkcd.com/comic/random/ #middleContent img', null, function() {
            item.fadeIn(5000);
          });
        });
      };

      // Load initial featured item
      load_item();

      // Schedule repeated loading
      setInterval(load_item, 15000);
    </script>
  </body>
</html>

Cela fonctionne bien la première fois à travers, mais les appels suivants à load_item, le fadeOut () semble cesser de fonctionner. Il ne se fanent pas réellement le #item div, mais saute immédiatement dans la fonction de rappel, en ignorant le retard 5000.

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

setInterval("load_item()",15000)

Je sais qu'il semble drôle de le mettre entre guillemets, mais il fonctionne.

L'autre option est de dire:

load_item = function(){...etc...};
setInterval(loadItem,1500)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top