0

我试图每隔几秒钟将随机项目加载到一个 div 中,每次加载之间都有一个很好的淡出/淡入过渡。这是代码:

<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>

这第一次工作正常,但在随后调用 load_item 时,fadeOut() 似乎停止工作。它实际上并没有将#item div 淡出,而是立即跳入回调函数,忽略 5000 延迟。

我究竟做错了什么?

4

1 回答 1

0
setInterval("load_item()",15000)

我知道把它放在引号里看起来很有趣,但它确实有效。

另一种选择是说:

load_item = function(){...etc...};
setInterval(loadItem,1500)
于 2010-06-17T22:31:40.853 回答