2012-09-13 19 views
1

我有一个显示的人观看特定twitch.tv流数一些代码。它加载一次并显示它。如果有人想要更新查看者的数量,那么他们必须刷新页面。有没有办法每隔几秒刷新一次号码,以便人们不必刷新页面?代码如下(其DIV ID =我想更新观众)更新通过div标签显示是多少?

<html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" charset="utf-8"></script></head></html> 
    <script type="text/javascript" > 

    var channelName = "crossgamechat"; 


    function showViewers(a){ 
    alert(a.viewers_count); 
    } 
    $.getJSON("http://api.justin.tv/api/stream/summary.json?channel="+ channelName + "&jsonp=?", function(a){document.getElementById("viewers").innerHTML += a.viewers_count;}); 
    ; 

    </script> 

    <div class="clear"></div> 
    <div style="width: 100px;"> 
    <div id="viewers" style="float: left"></div> 
    <div id="blank" style="float: left; width: 5px;">&nbsp;</div> 
    <div id="divtext" style="float: left;">Viewers</div> 
    <br style="clear: left;"/> 
    </div> 
    </head></html> 

回答

0

您可以使用setInterval在设定的时间间隔运行特定的功能。

演示:http://jsfiddle.net/SO_AMK/tt5NH/

的jQuery:

window.setInterval(function() { 
    $.getJSON("http://api.justin.tv/api/stream/summary.json?channel=" + channelName + "&jsonp=?", function(data) { 
     document.getElementById("viewers").innerHTML = data.viewers_count; 
    }); 
}, 2000); 

附:你的jQuery库已经过时了,你有一些语法错误。

+0

非常感谢!你的代码正在帮助我学习一些关于html的东西,这让我感到困惑。更新后的数字并未显示在我的网站上,但可能是我犯的一个简单的错误。 –

0

最简单的方法是使用的setInterval方法

window.setInterval(function() { 

    $.getJSON("http://api.justin.tv/api/stream/summary.json?channel="+ channelName + "&jsonp=?", function(a){document.getElementById("viewers").innerHTML += a.viewers_count;}); 


}, 5000); 

https://developer.mozilla.org/en-US/docs/DOM/window.setInterval

0

您可以使用AJAX调用的setInterval内这样做。发送GET或POST请求到返回的数量来显示一个页面,然后在该呼叫更新跨度/ DIV或任何的成功是显示数字

这里是一个working fiddle