최근에 window.scroll을 사용하여 css3 애니메이션을 트리거하는 요소에 '활성'클래스를 추가하는 웹 사이트를 만들었습니다. 이 애니메이션은 때로는 불을 피우지 못했지만 대본의 모든 성능은 모두 매우 느 렸습니다. 오늘 나는 firefox parallax site 을보고 있었고 결코 '방아쇠'를 놓치지 않고 성능이 좋았다는 사실을 알았지 만 이러한 결과를 얻는 방법을 찾지 못했습니다.자바 스크립트 성능 - 작은 스크립트의 성능을 향상시키는 방법
내 코드는 순간 다음과 같습니다...
$(window).scroll(function(){
if ($('.trigger:in-viewport:first.trigger5').length)
{
$('[rel=counter]').addClass('active');
$('[rel=discover]').removeClass('active');
$('[rel=follow]').removeClass('active');
$('[rel=sync]').removeClass('active');
}
가 나는 느낌이 그 시간이 jQuery를에 소요되는
속합니다 codereview.stackexchange.com –
에 속함 스크롤 및 mousemove와 같은 빠른 실행 이벤트에서 DOM 쿼리를 수행합니다. 고전적인 실수. –
'.scroll()'콜백 함수 밖의 변수에서'$()'쿼리를 캐쉬 해보십시오. 스크롤 이벤트가 발생하고 콜백 함수가 실행될 때마다 DOM이 * 5 * 번 쿼리됩니다. – ajp15243