2011-04-05 4 views
3

$ ("# myDiv"), show() 및 $ ("# myDiv") 할 때 성능이 저하됩니다.) Mac에서만 사파리와 크롬에서만 IE6을 포함한 다른 모든 브라우저는 PC와 Mac에서 잘 작동하므로 이것이 웹킷 문제입니다.많은 수의 요소를 처리 할 때 숨김/표시 기능이 매우 느려짐

div "myDiv"에는 많은 체크 박스, JqueryUI 탭 및 3 개의 슬라이더를 포함한 많은 수의 요소가 포함되어 있습니다.

show/hide 대신 "addClass"를 시도했지만 -10000으로 마진을 설정하고 0으로 되돌려 봤지만 아무 것도 도움이되지 않습니다. 해결 방법이 있습니까? 아니면 이러한 브라우저의 제한 사항입니까?

+0

아마 jQuery 문제 일 수 있습니까? 고전적인 자바 스크립트를 사용하여 효과가 있는지 확인하십시오. 'document.getElementById ('myDiv'). style.display = 'none'' – smdrager

+1

어떻게'.show()'와'.hide()'가 느려지는 것을 결정 했습니까? –

+0

그냥 말하자면, 그 종류의 물건은 보통 웹킷에서 다른 것들보다 빠르게 실행됩니다. o.O – Shaz

답변

6

좋아,

아무 소용이 고체 (50) JS 개조하면 되겠 어 후 .... 나는이 사과 할 수 있지만,이 마음이 불고, 그것은 내 문제는 CSS에서 것을 밝혀!

하루를 낭비하고 나면 "background-size : 100 %;"라는 메시지가 나타납니다. 웹킷을 충돌시킵니다! 그건 미친 짓이야. 그 한 줄을 제거하면 내 모든 충돌이 제거되었다.

다시 한 번 잘못된 문제를 신고 해 주셔서 진심으로 감사드립니다.

+0

도움을 청한 모든 사람에게 투표가 어떻습니까 – Hussein

+0

Urg. 나는 이것도 가지고 있었다. (크롬과 사파리는 윈도우 7의 최신 버전이다.) 브라우저는 실제로 대부분의 jQuery 애니메이션을 수행하는 속도가 느린 반면 Fx, IE, Opera는 괜찮 았지만 이유는 모른다. : 자동 100 %; '해결했습니다. (다소 실망한) 해결책을 게시 해 주셔서 감사합니다. – meloncholy

3

이 작업을 시도 할 수 있습니다 :

$("#myDiv").css("display", "none"); 
+0

나는 절대적으로 아무런 차이가 없습니다 –

+0

아주 이상합니다. 일반적으로 WebKit은 많은 수의 dom 노드에서 매우 잘 수행됩니다. –

2

그냥 $myDiv를 사용 var $mydiv = $('#myDiv')을 수행하여 당신의 선택에 myDiv 캐싱보십시오. 이렇게하면 표시하거나 숨길 때마다 jQuery 객체가 생성되지 않습니다.

+1

시도했지만 전혀 도움이되지 않습니다. ( –

4

이 문제는 이미 Jquery hide() and show() runs too slow in google chrome으로 논의 된 것으로 보입니다. 그들은 크롬에 버그가 있다고 판결했습니다.

+0

나는 그것을 보았지만 회피 할 수는 없으며 사파리에도 같은 문제가 있습니다. –

관련 문제