JavaScript返回

时间:2015-06-04 16:49:06

标签: javascript return

我有以下代码:

function list() {
    return "blob1<br>blob2<br>blob3";
}

运行此代码时,它会在函数调用中直接显示return中的整个文本。

有没有办法让它显示blob1,然后等待0.5秒,然后显示blob2,再过0.5秒后显示blob3

3 个答案:

答案 0 :(得分:1)

我就是这样做的:

&#13;
&#13;
var stack = ["blob1", "blob2", "blob3"];

function nextItem() {
    document.body.innerHTML += stack.shift() + "<br>";
}

nextItem();
setTimeout(nextItem, 500);
setTimeout(nextItem, 1000);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用setTimeout来延迟执行某项功能:

var text = ["blob1", "blob2", "blob3"],
    target = document.getElementById('target');
(function display() {
    if(!text.length) return;
    target.textContent = text.shift();
    setTimeout(display, 500);
})();
<div id="target"></div>

答案 2 :(得分:0)

function list(num) {
    return "blob" + num;
}

var num = 1;

setInterval(function(){
    list(num);
    num ++;
}, 500);

http://jsfiddle.net/yfhxgenf/

所以这段代码每半秒调用一次list函数并发送一个数字。每次运行间隔时,数字都会增加1。

list函数每隔半秒就会返回blob1,blob2,blob3,blob4,blob5等。

检查jsfiddle并打开控制台以查看结果。

另外,我假设您正在使用此字符串进一步做些事情。现在它没有被显示在任何地方。

并且,如果你只想要它转到3,你可以添加一个检查以消除num到达3时的间隔。

http://jsfiddle.net/yfhxgenf/1/