단지 순간 전. 나는 애니메이션 제안이 좋지 않다는 것을 알았지 만, 그와 함께 제공된 jQuery 플러그인은 적어도 조금 나아졌다. 나에게 필요한 오버 헤드는 작은 이득을 얻을 가치가 없었다.
내 경우에는 하나의 큰 이미지가있는 스크롤 가능한 div가 있습니다. 이 이미지가 클수록 리플 로우가 심합니다. 스크롤 속성을 설정하기 직전에 div30을 숨긴 다음 바로 다시 표시하는 에 의해 상황을 대폭 개선 할 수있었습니다.. 이 은 첫 번째 속성이으로 설정된 후에 IE가 내용을 다시 렌더링하는 것을 무시하고 대신 요소가 모두 표시 될 때까지 대기합니다 (둘 다 설정된 후에).
모든 주요 브라우저의 현재 버전에는 깜박임이없는 것 같습니다 (내 첫 번째 관심사였습니다). 파이어 폭스 4, 오페라 11, 크롬 10, IE 8, IE8 호환성 및 Safari에서 테스트 5. jQuery를에
:
var my_pane = $('#my_scroll_pane');
my_pane.css('visibility', 'hidden');
my_pane.scrollTop(100).scrollLeft(100);
my_pane.css('visibility', 'visible');
일반 OLE '자바 스크립트 :
var scroll_pane = document.getElementById('my_scroll_pane');
scroll_pane.style.visibility = 'hidden';
scroll_pane.scrollTop = 100;
scroll_pane.scrollLeft = 100;
scroll_pane.style.visibility = 'visible';
UPDATE : 이것은 FF3.6에서 꽤 대략 깜박입니다. 브라우저 스니핑을 포함하지 않는 아이디어가 있다면 누구나 환영 할 것입니다.
scrollLeft 및 scrollTop을 설정하는 대신 해당 위치에있는 일부 요소에 포커스를 설정할 수 있습니다. 이러한 요소는 즉시 작성 될 수 있습니다. –
@mercator, 이것은 완전히 다른 질문입니다. "왼쪽"과 "너비"같은 문제가 생겼습니다. 두 속성을 동시에 설정해야하거나 중간에 리플 로우없이 설정해야하기 때문에 애니메이션이 때때로 불안해 보입니다. – harpo
그것은이 질문과 같은 것으로 보이는데 불과 일주일이나 이틀 전에 요청됩니다. http : // stackoverflow.co-questions/4207505/multiple-css-styles-in-a-way-to-apply-multiple-reflows 멀티플 리플 로우 – harpo