채택완료

자바스크립트 반복문중 궁금한것이 있습니다.

2016-10-13 (목) 11:33:35 5,274

setInterval을 공부하고 있는데요

아래 예제문에서


<script type="text/javascript">
var playAlert = setInterval(function() {
   alert('안녕하세요');
}, 3000);
</script>

3초 간격으로 안녕하세요 가 출력되는데요

만약

<script type="text/javascript">
var playAlert = setInterval(function() {
   alert('안녕하세요');
   alert('반갑습니다');
   alert('부탁드려요');
}, 3000);
</script>

3초 후 안녕하세요 그리고 3초 있다가 반갑습니다 또 3초 후 부탁드려요
이렇게 출력하려면 어떻게 해야할까요?



|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

var arr = ['안녕하세요', '반갑습니다', '부탁드려요'], i = 0;;

var playAlert = setInterval(function() {

if (i == arr.length - 1) clearTimeout(playAlert);

alert(arr[i++]);

}, 3000);

답변에 대한 댓글 2개

2016-10-13 (목) 14:32:57
슈와이님 답변 고마워요.
그런데요 alert 부분을 스크립트로 하려면 어떻게 해야할까요?

<script type="text/javascript">
var playAlert = setInterval(function() {
script1();
script2();
script3();
}, 3000);
</script>

이런식으로 스크립트가 3초 간격으로 하고 싶은데 잘 안되네요^^
var arr = [], i = 0;
arr[0] = function() {
alert('0');
}
arr[1] = function() {
alert('1');
}
arr[2] = function() {
alert('2');
}
setInterval(function() { i %= 3; arr[i++]() }, 3000);

초보자가 공부하기에는 아래 소스와 같이 해보시면 도움이 되지 않을까 보여집니다.

Copy
<script type="text/javascript">var i = 1;var playAlert = function() { if(i == 1){  alert('안녕하세요.'); } else if(i == 2){  alert('반갑습니다.'); } else if(i == 3){  alert('부탁드려요.'); }   if(i == 3) {    i = 1;   } else {    i = i +1;   }}setInterval(playAlert, 3000);</script>
 

<script type="text/javascript">
var playAlert = function() {
   alert('안녕하세요');
}

setInterval(playAlert, 3000);
</script> 

답변을 작성하려면 로그인이 필요합니다.