2014.02.20 03:34
resize, scroll,resize 등에 함수를 추가하다보면
함수가 반복되어 실행되는 문제가 존재한다.
이럴 경우 해당 함수를 실행하기전에
인식변수를 선언함으로써 해결할 수 있는데, 단순히 선언하고 해당 변수의 값 변화만으로 해결하기엔 완벽하지 않다.
해당 인식변수의 값을 변환시키는 것을 별도로 함수로 만들고, 해당 함수를 실행시키는 것을 몇초 후 진행하도록 하면,
중복 실행을 막을 수 있다.
function goto_down(){
if($changing_now == 'off'){
setTimeout( check_mov, 1000);
//alert($changing_now);
var down_val = u_filter+1;
//alert(down_val);
if(down_val<slide_count){
$('.slides section').each(function() {
//filterVal(해당 div의 아이디값)을 클래스 값으로 가진 div가 있을 경우..
$(this).slideUp();
});
$('#slide_'+down_val).slideDown();
u_filter = down_val;
location.href = '#!/'+down_val;
setTimeout(function(){
check_height();
},1000);
}else{
alert('마지막 슬라이드입니다.');
}
setTimeout(function(){
check_doc_height();
},1000);
$changing_now = 'on';
//함수를 그만 실행해라.
return false;
}
}
function check_mov(){
//3초후 이게 실행되기 전까지는 chaging_now 값이 on상태
$changing_now = 'off';
}
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
10 | javascript로 target="_blank" 같은 형태로 새창띄우기 | jurohan | 2014.12.08 | 1654 |
9 | 자바스크립트로 키보드 입력받기 | jurohan | 2014.02.21 | 2453 |
» | 함수 반복 실행 방지 기능 | jurohan | 2014.02.20 | 2289 |
7 | javascript 선언한 변수가 없을 경우, 재 선언하는 방법 | jurohan | 2014.01.29 | 408 |
6 | jquery를 활용한 비동기통신 예제 | jurohan | 2014.01.07 | 459 |
5 | 브라우저 창 가로,세로 크기에 따른 레이아웃 변경 | juro | 2013.10.21 | 2440 |
4 | jquery 휠 동작 관련코드 | juro | 2012.10.30 | 3202 |
3 | 컨텍스트를 기반으로 DOM탐색하기(Dom 탐색메서드) | juro | 2010.11.14 | 466 |
2 | 스크립트는 </body>바로 앞쪽에 위치시키는 습관 | juro | 2010.11.12 | 419 |
1 | jQuery 튜터리얼> [4] | juro | 2010.10.20 | 553 |