2015-09-10 4 views
1

У меня есть следующий DIV:Изменение текста в DIV в цикле с задержкой

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

Я хочу, чтобы изменить этот текст через 5 секунд до «второй», а затем еще через 5 секунд до «третьего», а затем прийти вернуться к «первому». Можете ли вы мне помочь?

+3

пытались ли вы что-нибудь? – bhspencer

ответ

2

Вы можете перебирать текстовый массив или добавить вверх больше elemets для отображения. Пожалуйста, просмотрите фрагмент ниже. Используйте setInterval для вызова функции каждого 5са

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);
<div id="mytext">first</div>

0

просто построить метод с setInterval() и запустить его для начала в теле

<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>