-8

我使用了此代码,但不再重复

它增加了值但没有达到初始值 0
请帮忙

   i=0;
        function loading()
        {
            text=["Loading.","Loading..","Loading...","Loading...."];
            window.setInterval(wr(),500)
        }
        function wr()
        {
            if(i<4)
            {
                wr='document.getElementById("text").innerHTML=text[i]';
                alert(i);
            }
            else
                i=0;    
            return wr;
        }
4

2 回答 2

2

你的代码太复杂了。定义一个传递给它的简单函数,setInterval并确保增加 counter 变量:

var i = 0; // initialize counter
var textElement =  document.getElementById("text");
setInterval(function() {
    i = i % 4; // make sure `i` is at max 3 and reset to 0
    var text = 'Loading';
    for (var j = i; j--; ) {
        text += '.'; // add the correct number of periods
    }
    textElement.innerHTML = text; // set text
    i++; // increase counter
}, 500);

演示

于 2013-08-04T22:46:27.680 回答
1

这是我不久前给出的类似答案的轻微修改。

var i = 0;
setInterval(function() {
    i = ++i % 4;
    document.getElementById('text').innerHTML = "Loading"+Array(i+1).join(".");
}, 500);
于 2013-08-04T22:49:38.373 回答