setInterval()如何工作?我可以每小时用它来改变图像吗?

时间:2013-08-15 05:54:17

标签: javascript

我正在处理一个项目,其中图像上的文字必须每小时更改一次。

我使用javascript setinterval(),但不知道它是如何工作的。

如果网站的用户重新加载页面,那么间隔会重新启动吗?

如果是,我怎么能阻止它重新启动?

3 个答案:

答案 0 :(得分:1)

是的,当用户重新加载时,间隔将重新启动。您可以使用Date对象来确定要显示的文本,例如:

var texts = [
   'Hello!',
   'You rock!',
   'Have a nice day.',
   'Welcome :)'
];

var text = texts[Math.floor((new Date).getTime()/3600000)%texts.length];

// text will update every hour (when the page is refreshed)

Demo(修改为每10秒更新一次)

答案 1 :(得分:0)

当用户加载网页时,setinterval将启动,但当他们刷新或导航到其他页面时,setinterval将不会继续计数。

执行此操作的最佳方法是在javascript中使用日期。

所以你可以做类似的事情。

上午9点 - 显示此图片 上午10点 - 显示此图像 等...

答案 2 :(得分:0)

识别浏览器刷新事件并将间隔存储在缓存或本地存储中。一旦浏览器 刷新完成恢复间隔值