数秒ごとにランダムなアイテムを 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 の遅延を無視して、すぐにコールバック関数にジャンプします。
私は何を間違っていますか?