setInterval 즉시실행 질문드립니다.
본문
<style>
li.on .over {
background: #222;
}
</style>
<ul>
<li class="on">
<div class="over">
1
</div>
</li>
<li>
<div class="over">
2
</div>
</li>
<li>
<div class="over">
13
</div>
</li>
</ul>
<script>
$(function() {
var idx = 0; //초기화
setInterval(time, 1000); // 시간은 1초로
function time() {
var box = $('li'); // 바뀌어야 할 선택자
box.removeClass('on'); // 초기값 선택자(on) 삭제
box.eq(idx).addClass('on'); // 해당순번 선택자 추가
idx++;
if (idx >= box.length) idx = 0;
}
});
</script>
여기서 setinterval 즉시실행을 하려면 어떻게 수정을 해야될지 몰라서요 혹시 알고계시면 도움부탁드립니다.
밑에 스크립트는 구글에서 검색하였는데 어떻게 조합을 해야될지 모르겠습니다..
var repeat = null;
var delay = 10000; poll(); // 최초(즉시)실행
repeat = setInterval(poll, delay); // delay 간격으로 실행.
function poll() {
alert("setInterval");
clearInterval(repeat);
}
답변 2
time(); // 이렇게 추가하면 되지 않나요?
setInterval(time, 1000); // 시간은 1초로
function time() { ... }
time();
//setInterval(time, 1000); // 시간은 1초로
이러면 바로 실행인데요..
<script>
$(function() {
var idx = 0; //초기화
time();
//setInterval(time, 1000); // 시간은 1초로
});
function time() {
var box = $('li'); // 바뀌어야 할 선택자
box.removeClass('on'); // 초기값 선택자(on) 삭제
box.eq(idx).addClass('on'); // 해당순번 선택자 추가
idx++;
if (idx >= box.length) idx = 0;
}
</script>