웹 프론트엔드 JS 튜토리얼 브라우저 리플로우 및 repaint_javascript 트릭을 줄이는 방법

브라우저 리플로우 및 repaint_javascript 트릭을 줄이는 방법

May 16, 2016 pm 04:13 PM
javascript 성능 최적화

1. 문서에서 직접 DOM 작업을 자주 수행하지 마세요. 필요한 경우 다음과 같은 특정 방법을 사용할 수 있습니다.

(1) 먼저 문서에서 요소를 삭제한 다음 수정을 완료한 후 요소를 원래 위치로 되돌립니다
(2) 요소의 표시를 "없음"으로 설정하고, 수정 완료 후 표시를 원래 값으로 수정합니다
(3) 여러 개의 DOM 노드를 생성해야 하는 경우 DocumentFragment를 사용하여 생성하고 document

에 한 번에 추가할 수 있습니다.

2. 중앙에서 스타일 수정

(1) 요소 스타일의 속성을 최대한 적게 수정하세요
(2) className
을 수정하여 스타일을 수정해보세요. (3) cssText 속성

을 통해 스타일 값을 설정합니다.

3. 레이아웃 속성값 캐싱 ​​

Layout 속성의 비참조 유형 값(숫자 유형)의 경우 여러 번 액세스해야 하는 경우 한 번의 액세스 중에 먼저 로컬 변수에 저장한 다음 로컬 변수를 사용할 수 있습니다. 매번 속성을 읽지 마십시오. 브라우저 렌더링이 발생합니다.
var width = el.offsetWidth; var scrollLeft = el.scrollLeft;

4. 요소의 위치를 ​​절대 또는 고정으로 설정합니다

요소의 위치가 정적이고 상대적인 경우 요소는 DOM 트리 구조에 있습니다. 요소에 대한 작업에 다시 렌더링이 필요한 경우 브라우저는 전체 페이지를 렌더링합니다. 요소의 위치를 ​​절대 및 고정으로 설정하면 해당 요소가 DOM 트리 구조와 독립적으로 존재할 수 있으며, 브라우저는 렌더링해야 할 때 해당 요소와 그 아래 요소만 렌더링하면 되므로 시간이 어느 정도 단축됩니다. 브라우저 렌더링 시간은 Javascript 애니메이션 수가 증가하는 오늘날 특히 고려할 가치가 있습니다.

위 내용은 브라우저 리플로우와 리페인트 감소에 관해 제가 개인적으로 요약한 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Go 프레임워크의 성능 최적화와 수평적 확장 기술은? Go 프레임워크의 성능 최적화와 수평적 확장 기술은? Jun 03, 2024 pm 07:27 PM

Go 프레임워크의 성능 최적화와 수평적 확장 기술은?

C++를 사용하여 로켓 엔진 성능 최적화 C++를 사용하여 로켓 엔진 성능 최적화 Jun 01, 2024 pm 04:14 PM

C++를 사용하여 로켓 엔진 성능 최적화

C++ 성능 최적화 가이드: 코드를 더욱 효율적으로 만드는 비결을 알아보세요. C++ 성능 최적화 가이드: 코드를 더욱 효율적으로 만드는 비결을 알아보세요. Jun 01, 2024 pm 05:13 PM

C++ 성능 최적화 가이드: 코드를 더욱 효율적으로 만드는 비결을 알아보세요.

최적화를 향한 길: Java Framework의 성능 개선 여정 탐색 최적화를 향한 길: Java Framework의 성능 개선 여정 탐색 Jun 01, 2024 pm 07:07 PM

최적화를 향한 길: Java Framework의 성능 개선 여정 탐색

성능을 최적화하기 위해 Java에서 프로파일링을 사용하는 방법은 무엇입니까? 성능을 최적화하기 위해 Java에서 프로파일링을 사용하는 방법은 무엇입니까? Jun 01, 2024 pm 02:08 PM

성능을 최적화하기 위해 Java에서 프로파일링을 사용하는 방법은 무엇입니까?

고급 C++ 성능 최적화 기술이란 무엇입니까? 고급 C++ 성능 최적화 기술이란 무엇입니까? May 08, 2024 pm 09:18 PM

고급 C++ 성능 최적화 기술이란 무엇입니까?

C++를 사용하여 웹 애플리케이션의 성능을 최적화하는 방법은 무엇입니까? C++를 사용하여 웹 애플리케이션의 성능을 최적화하는 방법은 무엇입니까? Jun 02, 2024 pm 05:58 PM

C++를 사용하여 웹 애플리케이션의 성능을 최적화하는 방법은 무엇입니까?

프로그램 성능 최적화를 위한 일반적인 방법은 무엇입니까? 프로그램 성능 최적화를 위한 일반적인 방법은 무엇입니까? May 09, 2024 am 09:57 AM

프로그램 성능 최적화를 위한 일반적인 방법은 무엇입니까?

See all articles