2012-11-02 3 views
0

특정 단어가 포함될 행인 <table>을 숨겨야합니다. jQuery에서 :contains 선택기를 사용하고 .hide()을 사용하여이 행을 검색하고 있습니다.반짝이가없는 요소를 숨기기

문제는 숨기기 전에 일시적으로 그 행을 표시하는 불쾌한 반짝임을 초래한다는 것입니다.

글리터를 줄이거 나 생성시 각 DOM 요소를 분석하고 일부 요구 사항을 충족하는 경우 렌더링하지 않을 문서에 일부 이벤트를 바인딩 할 수 있습니까?

+2

현재 사용중인 코드 스 니펫을 표시하는 방법은 어떻습니까? – Krule

+1

그래서이 행을 처음부터 숨기시겠습니까? 그 맞습니까? "번쩍 이는"이란 말은 숨기기 전에 간단히 볼 수 있다는 뜻입니까? –

+0

DOMReady 이벤트 외부에서 코드를 이동하여 닫는 본문 태그 앞에 배치하면 느려질 수 있지만 느린 브라우저에서는 FOUC ("반짝이")가 계속 나타날 수 있습니다. 완전히 막지 못하게하는 유일한 방법은 javascript가 아닌 다른 것으로 숨기거나 사용자가 조작 할 때까지 전체 테이블을 숨기는 것입니다. –

답변

0

대부분의 템플릿 엔진은 사용자가 원하는대로 할 수 있기 때문에 처음에 요소를 만들지 여부를 결정할 수있는 논리를 추가 할 수 있습니다.

또 다른 옵션은 처음부터 테이블을 숨기고 (CSS display:none) jQuery를 실행하여 숨기거나 제거하려는 행을 찾아서 jQuery를 사용하여 테이블을 표시 할 수 있습니다. .show()). 이 접근법의 단점은 자바 스크립트를 사용하지 않는 방문자가 있으면 정상적으로 성능이 저하되지 않는다는 것입니다. 그들은 테이블을 볼 수 없을 것입니다!

물론 JavaScript를 활성화하지 않은 경우 클라이언트 측의 행을 숨길 수 없습니다. 서버 측에서 처리해야합니다.

관련 문제