更新div标签显示的数字?

时间:2012-09-13 23:44:29

标签: jquery html

我有一些代码显示查看特定twitch.tv流的人数。它加载一次并显示它。如果有人想要更新观众数量,那么他们必须刷新页面。有没有办法每隔几秒刷新一次数字,这样人们就不必刷新页面了?代码在下面(它的div id =我要更新的查看者)

    <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>

3 个答案:

答案 0 :(得分: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);

P.S。您的jQuery库已过时,并且您有一些语法错误。

答案 1 :(得分: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

答案 2 :(得分:0)

您可以在setInterval中使用ajax调用来执行此操作。将获取或发布请求发送到返回要显示的号码的页面,然后在该呼叫成功时更新span / div或显示该号码的任何内容

这是working fiddle