728x90
javascript 에서 어떠한 일정한 시간 간격으로 작업을 수행하고 싶을때
setInterval 을 사용해주면 된당
$(document).ready(function() {
setInterval(function(){
console.log("뿌잉뿌잉~");
}, 100);
}
이렇게 사용하면 log가 0.1초당 한번씩 찍힘
아시겠지만 100을 1000으로 수정하면 1초당 한번으로 찍힘
나는 이것을 왜 찾아봤냐?
안드로이드 앱 에서 input text에 값을 넣어주는 기능이 있는데 앱에서 직접 넣어주니 onchange change 등 이벤트가 걸리지 않아서 처리를 할 수 없는 상황이였음 ..
자바스크립트가 이니셜라이징 되기 전에 앱에서 input에 값을 넣어주면 문제가 되지않는데 항상 이니셜라이징이 끝나고 input에 값을 넣어줘서 문제
그래서 해결된 나의 코드
var oldvalue = $('#input').val();
var IslandPriceInterval = setInterval(function(){
if ($('#input').val()!=oldvalue){
console.log("실행될 내용~");
//인터벌 종료
clearInterval(IslandPriceInterval);
}
}, 100);
이러면 이니셜라이징 되면서 oldvalue 변수에 비어있는 input값을 저장하고 IslandPriceInterval 인터벌이 0.1초마다 실행이 된다.
실행이 되면 0.1초마다 oldvalue 와 input 값을 비교하여 값이 다를경우 원하는 작업을 수행해 줄 수 있다.
그리고 마지막에 clearInterval(IslandPriceInterval); 이렇게해주면 더이상 IslandPriceInterval 인터벌은 실행이 되지 않는다 ~
끄읏
'개발 > javascript' 카테고리의 다른 글
JavaScript NaN 체크 isNaN() (0) | 2023.04.25 |
---|---|
[javascript] 쿠키 생성 (0) | 2023.04.25 |
javaScript 웹에서 앱설치 유무 확인 [안드로이드] (0) | 2023.04.25 |