2013-03-15 2 views
0

I 다음 스크립트가 있습니다실행 JQuery와 준비가 된 것입니다

$(document).ready(function() { 

$('*:lang(English)').hide(); 
$('*:lang(French)').hide(); 
}); 

내가 필요하면 = "프랑스어"속성 LANG = "영어"또는 LANG을 가진 모든 요소가 초기에 숨길 수 있다는입니다.

하지만 지금 내 웹 사이트를로드하면 문제가 발생합니다. $ (document) .ready가 잘 준비되기 전에 html이 렌더링되기 시작합니다. 결과적으로 위의 지정된 속성을 가진 모든 요소가 초 단위로 표시됩니다.

문서가 준비되기 전에 모든 *:lang(English)에 처리기를 추가 할 수있는 방법이 있습니까? 더 이상 글리치가 표시되지 않습니까?

답변

2

당신은 아마 jQuery를 제거하고 CSS와 함께이 작업을 수행해야합니다

*:lang(en), *:lang(fr) { 
    display: none; 
} 

그런 다음, 당신은 하나의 언어 만 표시 할 경우, 예를 들어, jQuery를 함께하는 것이을 을한다.

$(document).ready(function() { 
    $('*:lang(fr)').show(); 
}); 
+0

환상적이며 해결되었습니다 .... 빠른 질문이지만, 이것과 가시성 속성을 사용하는 것의 차이점은 무엇입니까? – Kam

+1

'visibility : hidden'은 보이지 않게하지만 여전히 공간을 차지합니다. 'display : none'은 마치 결코 거기에 없었던 것처럼 공간을 차지하지 않습니다. –

관련 문제