浏览 3216 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2006-10-16
在上一个 post 里我说明了setTimeout和setInterval在运行机制和使用上面的区别。今天在更新RSSGo! Firefox extension(主要加入Live Strong blog的RSS feeds,可以在点击这里下载) 又发现一个区别。概括的说在调度动态参数的函数时,setTimeout 比 setInterval 要强大很多。
例子场景设计:有一个RSS feeds容器,周期性的从容器中选取出一个feed, 如果遇到最后一条,那么下次选取跳到第一条。也就是说feed list是一个环形列表。 实现:我发现这个例子只能用setTimeout来实现,如果你能用setInterval做到同样的效果,welcome commets .
var feeds = [’http://jack.lifegoo.com/?feed=rss2′,
‘http://jack.lifegoo.com/?feed=comments-rss2′,
‘http://sishen.lifegoo.com/?feed=rss2′,
‘http://sishen.lifegoo.com/?feed=comments-rss2′];
function myalert(i){
if(i < feeds.length) {
alert(feeds[ i ++]);
} else {
i = 0;
alert(feeds[ i ++]);
}
setTimeout("myAlert(" + i +")", 5000);
}
myAlert(0);
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2006-10-16
我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。
|
|
| 返回顶楼 | |
|
最后更新时间:2006-10-16
Lucas Lee 写道 我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。 Thanks Lucas, u r right! I updated my blog:)
|
|
| 返回顶楼 | |





