使用settimeout显示逻辑错误

时间:2015-04-23 11:54:30

标签: javascript

嘿伙计们是ajax和php的新手..我有一个显示两位数字1和2的PHP脚本。我需要的是我只想在3秒后显示数字1并显示其他数字2 3秒后,我想清除那个层面。这就是我试过的......

Ajax.html

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
var d = setInterval(function babe () {

var xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var str = xmlhttp.responseText;
    var res = str.split("");
console.log(res[0]);


       setInterval(function() { console.log(res[2]); }, 5555);
    }
}




xmlhttp.open("GET", "index.php", true);
xmlhttp.send();


setInterval(function() { clearInterval(d);}, 3000);
}, 3000);
</script>
</body>
</html>

此代码输出1次,并且连续执行2次而不会结束。

我需要的是在3秒后执行1并在3秒后执行2并清除间隔..

Thanx帮助人们.. :))

1 个答案:

答案 0 :(得分:0)

setInterval是连续执行

setInterval(function() { console.log(res[2]); }, 5555);

持续执行2

你可以尝试

setTimeout(function() { console.log(res[2]); }, 3000);

3秒后关闭d

setTimeout(function() { clearInterval(d);}, 3000);