使用延迟更改循环中div中的文本

时间:2015-09-10 21:31:10

标签: jquery html css

我有以下div:

    <div class="mytext">first</div>

我希望在5秒钟后将此文字更改为“第二个”,然后又在5秒后将此文字更改为“第三个”&#39;然后回到&#34;首先&#34;。你能帮帮我吗?

2 个答案:

答案 0 :(得分:3)

您可以迭代文本数组或添加更多元素来显示。请查看下面的代码段。使用setInterval每5秒调用一次函数

&#13;
&#13;
var text = ['first', 'second', 'third'];
function callMe(){
  var myText = document.getElementById('mytext');
  var curIdx = text.indexOf(myText.innerHTML);
  myText.innerHTML = text[(curIdx+1)%text.length];
}

setInterval(callMe,5000);
&#13;
<div id="mytext">first</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只需使用setInterval()构造方法并触发它在body

中启动
<head>
<script>
    var a = ["first", "second", "third"];

    function f(currentId) 
    {
        if( currentId == a.length ) currentId = 0;

        document.getElementById("text").innerHTML = a[currentId];            

        setInterval(function(){ f(currentId+1) }, 5000);
    }
</script>
</head>

<body onload="f(0)">
    <div id="text"></div>
</body>