0

如何在几秒钟内text根据数组打印数组? 例如,我希望“tag1”在 2 秒打印,“tag2”在 4 秒打印,依此类推......time

http://jsfiddle.net/utG23/

var time = [2,4,6,8];
var text = ['tag1', 'tag2', 'tag3', 'tag4'];

var e = document.getElementById("teste");

for (var i=0;i<time.length;i++) {

    e.innerHTML = text[i];
    setTimeout(function(){e.style.display = "none";}, 2000);
}
4

2 回答 2

2

time[i]每隔几秒钟更改一次文本。为此,请使用闭包:

(function(i) {
    setTimeout(function() {
        e.innerHTML = text[i];
    }, 1000 * time[i]);
})(i);

演示:http: //jsfiddle.net/utG23/1/

于 2013-03-12T12:29:03.657 回答
0

为了完美...

(function(i) {  
    setTimeout(function() {
        e.innerHTML = text[i];
        setTimeout(function(){e.style.display = "none";},3000);
        e.style.display = "block";
    }, 1000 * time[i]);
})(i);

它会在 3 秒后隐藏标签,然后在出现新标签时再次显示...

于 2013-03-12T14:11:10.540 回答