웹 프런트엔드 디자인 패턴--디스플레이 성능 향상을 위한 돔 재구성_jquery
홈페이지에 제품 탐색 섹션이 있는데, 지연 로딩 중에 숨겨진 프레임 항목을 모두 표시합니다. (그림과 같이 원래 의도는 두 줄의 이미지를 표시하지만 로딩이 중단되고 아래의 일부 숨겨진 요소가 표시되었습니다.) 전체적인 그림이 거칠고 지저분했으며 전체 웹페이지가 완전히 로드되어 원활하게 실행되는 데 5초 이상 지연되었습니다. 극도로 성적인 온라인 인쇄 웹사이트는 매우 치명적이어서 사용자에게 극도로 나쁜 웹 경험을 제공하며 웹사이트의 불안정성으로 인해...
현재로서는 회사의 잘못을 비난할 수 없습니다. 나쁜 서버, 네트워크 속도 카드 등으로 인해 상사가 나를 때리거나 보너스를 공제할 수도 있습니다...
그래서 우리는 웹사이트 성능만 향상시킬 수 있습니다...
2. 디자인 목표
페이지 로딩 시 불필요한 요소를 줄이고 가벼운 웹페이지를 구축...
해결 방법
이 경우 초기 디자인 계획은 의심할 여지없이 히든 프레임 방식이 가장 사용하기 쉽고 라벨 탭 4개(사진첩, 핸드백, 벽걸이 달력, 포장)에 모두 대응하는 방식입니다. 페이지에 Div가 로드되며, 로드 시 첫 번째 탭(사진 앨범)의 Div가 탭 위로 이동하면 해당 탭 레이블의 Div가 표시되고 다른 탭 레이블의 Div는 표시됩니다. 숨겨진...
그래서 위의 상황이 발생했습니다. 전날 밤에 읽은 웹 디자인 패턴에 관한 책이 기억났습니다. 위의 구절이 내 관심을 끌었습니다. Dom 트리를 재구성하기 위해 페이지 요소 업데이트를 사용하는 것이 프레임을 숨기는 것보다 낫습니다. .성능이 훨씬 높아요... 그래서 이때 제가 생각한 것은 Dom 트리를 재구성하는 것입니다...
웹 페이지의 소스 코드는 매우 간단합니다. "tabcontent"는 위의 4개의
이렇게 하면 tabcontent1, tabcontent2, tabcontent3, tabcontent4라는 4개의 ID가 있는데, id="tabcontent"로 Div에 계속 순환해서 사용해보면 성능이 정말 훨씬 높아집니다...
코드 복사
{
case 1:{append(1,1; ,"f") ; 중단;}
사례 2:{ 추가(2,5,"s"); 중단;}
사례 3:{ 추가(3,9,"t"); }
사례 4:{ 추가(4,13,"fo"); break;}
}
}
//데이터 업데이트
함수 추가(i,j, 유형)
{
var str="
str ="
str ="
str ="
str ="

str ="
 ".png)
str ="
 ".png)
str ="
 ".png)
str =""
str ="< /div>< /div>
$("#tabcontent").html(str);
}
이걸로 끝이어야 하는데 갑자기 질문이 생각났습니다. 이 접근 방식은 실제로 jQuery의 호버 아이디어와 동일하며, 여기에는 마우스가 레이블을 이동할 때마다 Dom 요소 업데이트에 대한 폴링이 포함됩니다. 전송 및 수신할 데이터가 있어야 하며 위의 작은 데이터에는 영향을 미치지 않습니다. 그러나 Dom 요소 업데이트가 10kb 또는 심지어 수십kb. 이는 의심할 여지 없이 웹 페이지의 성능에 큰 도전을 가져옵니다...
그래서 저는 또 다른 작은 변화를 주었습니다. 즉, Dom을 사용하여 숨겨진 프레임 사용법을 재구성한 것입니다. 페이지에서 처음 로드 시 첫 번째 태그에 해당하는 Div, 즉 앨범에 해당하는 Div가 먼저 로드됩니다. 다른 탭 태그로 마우스를 이동하면 해당 태그에 해당하는 요소가 추가됩니다. 요소가 존재하는 경우 숨겨진 요소 제거) 그리고 존재하지 않는 경우 추가)를 표시하고 다른 탭 태그에 해당하는 Div 태그를 숨깁니다... 이 방법에는 "다단계 다운로드..."라는 이름이 있으므로 매번 요소를 업데이트할 필요가 없다는 코드는 다음과 같습니다.
//태그 숨기기
함수 탭(i)
{
for(var j=1;j<5;j )
{
$("#tabcontent" j).hide();
}
$("#tabcontent" i).show()
var num,ids,ordnum; ("#tabcontent" i).length;//이 문장은 매우 중요합니다. 요소를 반복적으로 로드한다는 판단을 없애줍니다. (요소가 있으면 다시 추가할 필요가 없습니다.)
if(len== 0)
{
스위치(i)
{
케이스 1 :{ 추가(1,1,"f") break;}
케이스 2:{ 추가(2,5) ,"s"); 중단;}
사례 3:{ 추가(3,9, "t"); 중단;}
사례 4:{ 추가(4,13,"fo"); }
}
}
}
//load 데이터 입력
function Append(i,j,type)
{
var str="

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제









JavaScript 문자열 교체 방법 및 FAQ에 대한 자세한 설명 이 기사는 JavaScript에서 문자열 문자를 대체하는 두 가지 방법 인 내부 JavaScript 코드와 웹 페이지의 내부 HTML을 탐색합니다. JavaScript 코드 내부의 문자열을 교체하십시오 가장 직접적인 방법은 대체 () 메소드를 사용하는 것입니다. str = str.replace ( "find", "replace"); 이 메소드는 첫 번째 일치 만 대체합니다. 모든 경기를 교체하려면 정규 표현식을 사용하고 전역 플래그 g를 추가하십시오. str = str.replace (/fi

그래서 여기 당신은 Ajax라는이 일에 대해 배울 준비가되어 있습니다. 그러나 정확히 무엇입니까? Ajax라는 용어는 역동적이고 대화식 웹 컨텐츠를 만드는 데 사용되는 느슨한 기술 그룹을 나타냅니다. 원래 Jesse J에 의해 만들어진 Ajax라는 용어

기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

이 기사에서는 jQuery 라이브러리를 사용하여 간단한 사진 회전 목마를 만들도록 안내합니다. jQuery를 기반으로 구축 된 BXSLIDER 라이브러리를 사용하고 회전 목마를 설정하기위한 많은 구성 옵션을 제공합니다. 요즘 그림 회전 목마는 웹 사이트에서 필수 기능이되었습니다. 한 사진은 천 단어보다 낫습니다! 그림 회전 목마를 사용하기로 결정한 후 다음 질문은 그것을 만드는 방법입니다. 먼저 고품질 고해상도 사진을 수집해야합니다. 다음으로 HTML과 일부 JavaScript 코드를 사용하여 사진 회전 목마를 만들어야합니다. 웹에는 다양한 방식으로 회전 목마를 만드는 데 도움이되는 라이브러리가 많이 있습니다. 오픈 소스 BXSLIDER 라이브러리를 사용할 것입니다. BXSLIDER 라이브러리는 반응 형 디자인을 지원 하므로이 라이브러리로 제작 된 회전 목마는

매트릭스 영화 효과를 페이지에 가져 오십시오! 이것은 유명한 영화 "The Matrix"를 기반으로 한 멋진 jQuery 플러그인입니다. 플러그인은 영화에서 클래식 그린 캐릭터 효과를 시뮬레이션하고 사진을 선택하면 플러그인이 숫자로 채워진 매트릭스 스타일 사진으로 변환합니다. 와서 시도해보세요. 매우 흥미 롭습니다! 작동 방식 플러그인은 이미지를 캔버스에로드하고 픽셀 및 색상 값을 읽습니다. data = ctx.getImageData (x, y, settings.grainsize, settings.grainsize) .data 플러그인은 그림의 직사각형 영역을 영리하게 읽고 jQuery를 사용하여 각 영역의 평균 색상을 계산합니다. 그런 다음 사용하십시오

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.
