2013-04-10 48 views
0

我试图每七秒更换一次用户。为此,我需要从服务器加载用户的所有信息。我怎么能做到这一点使用JavaScript?什么是有效的方式?每5秒更换一次图像 - 但来自服务器的图像

我想到的是,我每七秒发送一个http请求到服务器,用ajax询问用户数据。这是做到这一点的有效方式?

http://doni.sites.djangoeurope.com/这是我的网站,底部有5个用户。我希望他们每七秒换一次用户。

请帮帮我。我正在使用serverside django,

+0

你已经有了一个解决方案,为什么不试试呢?你能想出一个不按照你说的方式去做的理由吗?没有?然后做 – Populus 2013-04-10 18:14:35

回答

1

一个简单的逻辑是使用setInterval功能。让我们假设我必须每5秒更改一次网页的背景。您可以使用以下代码来实现此目的:

<script type="text/javascript"> 
     function changebackground() { 
      var colors = ["#0099cc","#c0c0c0","#587b2e", 
"#990000","#000000","#1C8200","#987baa","#464646", 
"#AA8971","#1987FC","#99081E"]; 

      setInterval(function() { 
       var bodybgarrayno = Math.floor(Math.random() * colors.length); 
       var selectedcolor = colors[bodybgarrayno]; 
       document.body.style.background = selectedcolor; 
      }, 3000); 
     } 
     </script> 

您可以根据您的要求复制上述功能。

DEMO

+0

时发射它非常好,谢谢 – doniyor 2013-04-10 18:20:17

+0

@ doniyor:很高兴它帮助你。我也加了一个DEMO。确保你也检查。 – defau1t 2013-04-10 18:21:26

+0

耶,我现在就看到了。非常酷的人。没有比你更好的了。 – doniyor 2013-04-10 18:23:50

2

最有效的方法是使用websockets,你应该在他们的文件。

唯一的事情是他们并不总是suppoerted from browsers

你也可以做somenthing像:

setInterval(function(){ 
//launch my ajax every 5 seconds 
},5000); 

,但它不reccomend你这个

+0

你不推荐我ajax?你能给出一些理由吗? – doniyor 2013-04-10 18:16:36

+0

不,我不reccomen你setInterval():)因为这个收费很多浏览器 – sbaaaang 2013-04-10 18:17:04

+0

但websockets不支持一些重要的浏览器,我前往.. – doniyor 2013-04-10 18:18:50