2011-03-04 2 views
0

클래스를 숨기려면 JQuery를 추가 할 때 물론 페이지가로드 될 때까지 기다렸다가 클래스를 숨 깁니다 ('addClass'와 동일). 페이지가로드 될 때 '로드'하는 데 더 빠르고 더 좋은 방법이 있어야합니다. 누구든지 어떤 아이디어를 알고 있습니까? 내가 행동에서 볼 수있는 링크와 JQuery와 스크립트 아래에 내 사이트를 준 : 클래스Link to example of my script to hide sub filters (notice left navigation filters)JQuery instant addClass 또는 hide 클래스

if(jQuery('.refinement_category_section').length){ 
    jQuery('.refinement_custom_category_section').hide() && 
     jQuery('.refinement_filter').hide(); 
} 

jQuery(document).ready(function(){       
    if(jQuery('.refinement_category_section').length){ 
     jQuery('.refinement_custom_category_section').hide() && 
     jQuery('.refinement_filter').hide(); 
    } 
}); 

또는

추가합니다 :Link to example of my script adding Class (notice left navigation filters)

하위 필터를 숨 깁니다 $('.refinement_brand_section').parent().addClass('filterresults');

+0

css ... .className {display : none; }. – Joseadrian

+0

나는 접근 가능성에 관심이있는 유일한 사람입니까? 점진적 향상이란 사용자가 자바 스크립트를 사용할 수 없다면 깨지지 않는 것을 의미합니다. 그들을 숨기고, 그들을 공개하지 않고, 자바 스크립트를 통해 갈 방법입니다. – tvanfosson

+0

tvanfosson - 나는 당신의 정서에 동의합니다. 그러나 나는 많은 관리자 백엔드가 오프라인 기능과 클라이언트 측 의사 결정 프로세스 트리의 조합을 요구하는 스폰서 요구 때문에 자바 스크립트를 기본값으로 사용하여 독점적으로 작업한다는 사실을 알고 있습니다. 내가 말했듯이, 나는 당신을 얻는다. 그러나 그것은 매우 유스 케이스에 특화된 것이고, 나는 비즈니스 요구에 반대하여 항상 당신이 수용 할 수있는 관심사 (그 자체가 수용되어야 함)를 명령 할 수 있다고 생각하지 않는다. 이것은 많은 프로젝트에서 진행중인 문제이기 때문에 나는 그것을 느낍니다. –

답변

1

후를 변경하는 CSS 규칙을 추가 할 수 있습니다. 내 제안은 귀하의 스타일 변경 사항을 적용하거나 페이지의 항목 수가 적 으면 (또는 둘 다) javascript를 사용하여 항목에 대한 그림을 동적으로로드하는 것입니다. 이것은 자바 스크립트가 아닌 사용자를 위해 성능이 저하되었지만 여전히 기능적 인터페이스가 될 것입니다. 자바 스크립트가 활성화 된 브라우저의 경우 이미지를로드하는 방법과 개수를 조정하여 좋은 결과를 얻을 수 있습니다.

단일 이미지를 다운로드하고 CSS를 사용하여 다양한 부분을 표시하려면 작은 인터페이스 요소에 스프라이트를 사용해야합니다. 프로덕션 사이트에 대한 자바 스크립트 파일과 스타일 시트를 결합하면 꽤 도움이 될 것입니다. 20 개 이상의 js 파일과 13 개 이상의 스타일 시트가 있는데, 각각 별도의 요청이 필요합니다. YSlow를 실행하고 다른 권장 사항을 따르는 것이 좋습니다.

+0

감사합니다. – ToddN

1

당신은이 문제가로드중인 이미지의 수와 것 같습니다, 이러한 클래스를 숨기고 다음 방화범을 사용하여 JQuery와로드

.refinement_category_section, .refinement_custom_category_section, .refinement_filter { 
    display: none; 
} 
+0

그런 다음 자바 스크립트 오류 (예 : Google 애널리틱스로드 중)가 있거나 사용자가 화면 판독기를 사용하고 있으면 전혀 표시되지 않습니다. – tvanfosson

+0

DOM 준비 핸들러를 기다리지 않고 원하는 것을 할 수있는 방법이 없다고 생각합니다. – yoavmatchulsky

+0

@yaov - 요청 수를 줄이고 인터페이스에 계속 액세스 할 수 있도록하면 많은 개선이 가능합니다. – tvanfosson