我正在尝试每隔几秒将随机项加载到div中,每次加载之间都有一个很好的fadeOut / fadeIn过渡。这是代码:
<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延迟。
我做错了什么?
答案 0 :(得分:0)
setInterval("load_item()",15000)
我知道把它放在引号中看起来很有趣,但它确实有效。
另一种选择是:
load_item = function(){...etc...};
setInterval(loadItem,1500)