【JS】연속 적 인 감청 사건 에서 현재 상태 변화 여부 감청

많은 경우 에 일련의 사건 이 신속하게 발생 할 수 있다.이런 사건 에서 특정한 값 의 상 태 를 실시 간 으로 감청 하고 특정한 조건 에서 다른 조작 을 수행 하면 성능 이 매우 낭 패 롭 게 될 것 이다.
방법 설명 이 간단명료 하고 알 기 쉬 우 므 로 저 는 jQuery 의 scroll 사건 을 선택 하여 설명 하 겠 습 니 다.
var wh = $(window).height();
$(document).on('scroll',function() {
    var sh = $(document).scrollTop();
    if(sh

예시 코드 에서 보 듯 이 scroll 사건 을 감청 할 때마다 switchBlur 함 수 를 실행한다.이 때 보다 상태 가 모호 하지 않 아 sh ture,switchBlur(0) 은 전혀 집행 할 필요 가 없다.
다음 코드 개선:
var blur_px;
var s1 = 0;
var s2 = 0;
var wh = $(window).height();
$(document).on('scroll',function() {
    var sh = $(document).scrollTop();
    if(sh

나 는 s1s2 을 사용 하여 두 시간의 상 태 를 기록 했다.s1 은 이번 scroll 사건 이전의 상태(0 또는 1)를 나타 내 고 s2 은 현재 의 상 태 를 자 연 스 럽 게 나타 내 며 사건 이 실 행 될 때마다 상태 가 바 뀌 든 안 바 뀌 든 원래 s2 의 값 을 s1 에 부여 하고 s2 은 최신 상태 로 업데이트 한다.switchBlur 함 수 는 s1s2 과 같 지 않 을 때 만 실행 되 는 것 을 발견 할 수 있 습 니 다.그러면 언제 s1s2 과 같 지 않 습 니까?정 답 은 상태 가 바 뀌 었 을 때 s2 은 이미 최신 상태 이다.이때 s1 은 여전히 지난번 사건 이 실 행 될 때의 상 태 를 유지 하고 있 으 니 당연히 같 지 않다.
총괄:이 방법 은 의 상황 에 시용 되 었 다.여 기 는 하나의 예 일 뿐 성능 을 최적화 해 야 할 많은 곳 까지 연장 할 수 있다.

좋은 웹페이지 즐겨찾기