Element Resize 시 window resize 이벤트 발생 속도

2022. 10. 31. 09:54·JavaScript

회사 업무를 진행하다가 Element를 리사이징 했을 때 window resize 이벤트가 비정상적인 속도로 실행되어

Canvas의 annotation이 오류를 일으키는 것을 확인하였다.

 

최초 canvas annotation 부분의 코드를 수정하려고 했는데 해당 부분에는 문제가 없는 것 같아

리사이징 이벤트 자체를 수정하기로 하였다.

 

브라우저를 리사이징 할 때는 이상이 없지만 Element를 리사이징 했을 때 오류가 발생하는 경우

window resize 이벤트를 약간 수정할 필요가 있다.

// 기존 코드
$(window).resize(function() {
	initializePerfectScroll();

	if(false == checkCanvasImageLoaded()) {
		return;
	}
	
	selectThumbnail(currentSelectedId);
})

기존 코드는 코드 자체의 문제는 없지만 Element 리사이징 시 비정상적인 속도로 실행되기 때문에 timeout을 설정하였다.

 

// 수정 코드
function winResize() {
	initializePerfectScroll();

	if(false == checkCanvasImageLoaded()) {
		return;
	}
	
	selectThumbnail(currentSelectedId);
}

let timeSet;

window.onresize = function() {
	clearTimeout(timeSet);
	timeSet = setTimeout(winResize, 50);
}

해당 코드로 수정하니 Canvas의 렌더링이 훨씬 매끄러워진 것을 확인하였다.

저작자표시 비영리 (새창열림)

'JavaScript' 카테고리의 다른 글

Resizer.js  (1) 2023.11.18
Uncaught SyntaxError: Invalid shorthand property initializer 해결  (0) 2023.02.27
Javascript 날짜 계산기  (0) 2023.01.31
Swiper <DevTools failed to load source map>  (0) 2022.12.08
TypeError: ws.Server is not a constructor  (0) 2022.11.01
'JavaScript' 카테고리의 다른 글
  • Uncaught SyntaxError: Invalid shorthand property initializer 해결
  • Javascript 날짜 계산기
  • Swiper <DevTools failed to load source map>
  • TypeError: ws.Server is not a constructor
요술공주밍키
요술공주밍키
조금씩이라도 꾸준히..
  • 요술공주밍키
    삽질의흔적
    요술공주밍키
  • 전체
    오늘
    어제
    • 분류 전체보기 (139)
      • Java (42)
        • Spring Boot (14)
        • Spring Boot 게시판 (14)
        • 공중화장실 찾기 (4)
        • 쇼핑몰 (8)
      • JavaScript (8)
        • NodeJS (2)
      • Python (5)
        • Django (4)
      • Server (10)
        • Docker (4)
        • K8S (0)
        • Jenkins (1)
      • 알고리즘 (24)
        • 프로그래머스 (19)
        • 백준 (5)
      • Etc (21)
        • 개발 팁 (1)
      • 일상 (27)
        • 독서 포스트 (25)
        • 회고록 (2)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
요술공주밍키
Element Resize 시 window resize 이벤트 발생 속도
상단으로

티스토리툴바