안녕하세요! 오늘은 setInterval, Settimeout을 사용하여 이미지를 보여주는 작업을 진행해보려고 합니다!!
이야기에 들어가기 전에 밑에서 이미지로 보시면 아시겠지만 저희가 전부터 만들었던 데이터 값들인 cid가 나오시는걸 확인하실 수 있으실겁니다. 그건 서버쪽이랑 엮어서 파이썬 사용해서 mongoDB에서 find하여 가지고 오는 상황입니다!
이미지는 "개발자 아저씨들 힘을 모아" 블로그에서 참고하였습니다!
재귀적 호출이란,
재귀 호출(recursive call)이란 함수 내부에서 함수가 자기 자신을 또다시 호출하는 행위를 의미합니다. 이러한 재귀 호출은 자기가 자신을 계속해서 호출하므로, 끝없이 반복되게 됩니다.
이미지는 "튜나 개발일기" 블로그에서 참고하였습니다!
Template.해당 template 이름.onCreated(() => {
var imgs = [ 'thumbnail_test2.jpg',
'thumbnail_test3.jpg',
'thumbnail_test4.jpg',
'thumbnail_test5.jpg',
'thumbnail_test6.jpg' ];
Session.set('URLImgs', imgs);
console.log(imgs);
});
Template.해당 template 이름.helpers({
imgsURL() {
let imgs = Session.get('URLImgs');
let i = 0;
let imgtime = '';
let imgClass = '';
function imgFnc() {
i++;
imgtime = imgs[i-1];
console.log(imgs[i-1]);
imgClass = document.getElementsByClassName('monito-img');
for(let i2 = 0; i2 < imgClass.length; i2++) {
imgClass[i2].src = imgtime;
}
}
setTimeout(() => {
while ( i < 1 ){
imgFnc();
break;
}
}, 0);
function imgtimes() {
if ( i >= imgs.length ) {
i = 0;
}
while ( i < imgs.length ){
imgFnc();
break;
}
}
setInterval(imgtimes, 5000);
}
이런식으로 5초를 기준으로 이미지가 돌아가고 있습니다~~
랜덤으로 불러오기 위해서 사용한
의사난수란,
컴퓨터 알고리즘으로 만들어 내는 무작위로 추출된 수(난수)라고 합니다.
imgsURL() {
let imgs = Session.get('URLImgs');
let i = 0;
let imgtime = '';
let imgClass = '';
function imgFnc() {
i++;
imgtime = imgs[i-1];
console.log(imgs[i-1]);
imgClass = document.getElementsByClassName('monito-img');
for(let i2 = 0; i2 < imgClass.length; i2++) {
let rand_idx= Math.floor(Math.random() * imgs.length);
imgtime = imgs[rand_idx];
imgClass[i2].src = imgtime;
}
}
setTimeout(() => {
while ( i < 1 ){
imgFnc();
break;
}
}, 0);
function imgtimes() {
if ( i >= imgs.length ) {
i = 0;
}
while ( i < imgs.length ){
imgFnc();
break;
}
}
setInterval(imgtimes, 5000);
}