[JavaScript] 인덱스 증가 감소
슬라이드에서 이전 슬라이드, 다음 슬라이드 인덱스 값이 필요할 경우 쓰이는 방법이다. 슬라이드 갯수와 다음, 이전 인덱스 값을 초기 설정해준다.
var slideLength = 4,
next = 0,
prev = 0;
알고리즘이 들어갈 함수와 이벤트를 실행시킬 이벤트 리스너가 필요할 것이다. slide 함수를 선언하고 setInterval 함수에다가 이벤트 리스너를 등록하자
function slide() {
console.log(0);
}
setInterval(slide, 1000);
1초마다 콘솔창에 0이 출력된다. 이제 1초마다 다음 인덱스에 1을 더하며 그 값을 이전 인덱스에 주자
function slide() {
next++;
console.log(next, prev);
prev = next;
}
setInterval(slide, 1000);
콘솔창이 들어가있는 곳이 추후에 인덱스 다음과 이전 인덱스 값을 받아 처리하는 기능이 들어간다. 콘솔창을 보면 아래와 같이 다음과 이전이 1씩 밀리면서 출력된다.
1 0
2 1
3 2
4 3
5 4
6 5
7 6
...
하지만 슬라이드 갯수는 4개다. 다음 인덱스가 4이상이 되면 0으로 초기화되도록 조건문을 입력하면 된다.
function slide() {
next++;
if (next >= slideLength) {
next = 0;
};
console.log(next, prev);
prev = next;
}
setInterval(slide, 1000);
아래와 같이 순차적으로 1씩 밀려서 출력되며, 4이상이 되면 0으로 초기화가 된다.
1 0
2 1
3 2
0 3
1 0
2 1
3 2
...
이제 인덱스가 순차적으로 감소되는 코드를 작성해 보자
function slide() {
next--;
if (next < 0) {
next = slideLength - 1;
}
console.log(next, prev);
prev = next;
}
setInterval(slide, 1000);
다음 인덱스를 1식 빼고, 다음 인덱스가 0보다 작이질 시 슬라이드 갯수의 1을 뺀 값을 대입하면 된다. 1을 빼는 이유는 프래그래밍에서 수의 시작은 0부터 시작하기 때문이다. 네번째 슬라이드의 인덱스는 3이 될 것이다.