Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript状态循环_Javascript_Loops - Fatal编程技术网

Javascript状态循环

Javascript状态循环,javascript,loops,Javascript,Loops,好的,javascript中的一件简单的事情,我甚至无法解决在web上搜索的问题。我想我甚至找到了正确的东西,但是没有放在正确的地方 这段代码告诉我流是在线还是离线。但是我该如何更改状态并每5秒更新一次 $(function () { $.ajax({ type: 'GET', url: "http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",

好的,javascript中的一件简单的事情,我甚至无法解决在web上搜索的问题。我想我甚至找到了正确的东西,但是没有放在正确的地方

这段代码告诉我流是在线还是离线。但是我该如何更改状态并每5秒更新一次

$(function () {
    $.ajax({
        type: 'GET',
        url: "http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
        dataType: 'jsonp',
        success: function (jsonp) {
            // parse the JSON data on success
            var channel = eval(jsonp);
            liveChannel = channel.channel.isLive;

            if (liveChannel == true) {
                document.getElementById('mydiv').innerHTML = '<p style="color: #00FF00">Online!</p>';
            } else {
                document.getElementById('mydiv').innerHTML = '<p style="color: #C0C0C0">Offline!</p>';
            }


        }
    });
});
$(函数(){
$.ajax({
键入:“GET”,
url:“http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
数据类型:“jsonp”,
成功:函数(jsonp){
//成功解析JSON数据
var通道=评估(jsonp);
liveChannel=channel.channel.isLive;
if(liveChannel==true){
document.getElementById('mydiv').innerHTML='

联机!

'; }否则{ document.getElementById('mydiv').innerHTML='

脱机!

'; } } }); });
使用设置超时功能

setTimeout(function(){
  //your function
  foo();
},1000);
例如:

var myAjaxCall = function() {
$.ajax({
    type: "GET",
    url: options.feedUrl,
    dataType: "xml",
    async:options.sync,
    success: function(xml) {
        // todo
    }
};

var ResInterval = window.setInterval(myAjaxCall, 60000); // 60 seconds
停止:

window.clearInterval(ResInterval);
试试这个:

function checkStatus() {
    $.ajax({
        type: 'GET',
        url: "http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
        dataType: 'jsonp',
        success: function (jsonp) {
            // parse the JSON data on success
            var channel = eval(jsonp);
            liveChannel = channel.channel.isLive;

            if (liveChannel == true) {
            document.getElementById('mydiv').innerHTML = '<p style="color: #00FF00">Online!</p>';
             } else{
                document.getElementById('mydiv').innerHTML = '<p style="color: #C0C0C0">Offline!</p>';
            }
        }
    });
}

$(function() {
    setInterval(checkStatus, 5000);
});
函数检查状态(){
$.ajax({
键入:“GET”,
url:“http://xmychannelx.api.channel.livestream.com/2.0/livestatus.json?callback=?",
数据类型:“jsonp”,
成功:函数(jsonp){
//成功解析JSON数据
var通道=评估(jsonp);
liveChannel=channel.channel.isLive;
if(liveChannel==true){
document.getElementById('mydiv').innerHTML='

联机!

'; }否则{ document.getElementById('mydiv').innerHTML='

脱机!

'; } } }); } $(函数(){ 设置间隔(检查状态,5000); });

这将每隔5000毫秒(5秒)调用函数
checkStatus

设置一个计时器,每5秒触发一次ajax调用。。。(这被认为是一种不好的做法)。您应该使用另一个函数(命名或匿名)。它的工作方式与我的代码类似,但没有循环,可能是因为代码位于html中的.js文件中?不是在html上。我的错是,我使用了
setTimeout
而不是
setInterval
setTimeout
只调用函数一次,但是
setInterval
无限期地调用它。我已经修改了我的答案。