2012-11-03 7 views
1

아래의 스크립트는 작업을 수행하지만 다른 20 시간 정도 실행해야합니다. 같은 스크립트를 반복해서 호출 할 필요가 없도록 스크립트를 어떻게 최적화 할 수 있습니까?JQuery SmoothScroll 스크립트 최적화

"a1"이 "a2", "a3"등으로 변경됩니다. "#thing는"이 같은

$(document).ready(function() { 
$(".a1").click(function() { 
     $('html,body').animate({ 
     scrollTop: $("#thing").offset().top 
    }, 500); 
}); 

답변

1

뭔가가 내가 생각하는 작업 할 수있는 페이지의 다른 부분으로 스크롤 할 수 있도록도 변경해야합니다 :

var cnt = 0; 
$(".a1").click(function() { 
     $('html,body').animate({ 
     scrollTop: $("#schoonmaak").offset().top 
    }, 500, function() { 
     if (cnt++ > 20) $(".a1").click(); 
}); 

편집 - 귀하의 질문에 편집이 이루어진 후 이 문제가 귀하의 문제를 해결할 것이라고 생각합니다.

var items = $('body ul li[id]'); 
$('.nobackground h2 a').each(function(i){ 

    $(this).click(function() { 
    $('html,body').animate({ scrollTop: $(items[i]).offset().top}, 500); 
    }); 

}); 
+0

고맙지 만 나는 내가 원하는 것을 분명히 밝히지 않았습니다. "a1"은 "a2", "a3"등으로 변경됩니다. #schoonmaak도 ​​다른 것으로 바뀝니다. –

+0

제 편집을 확인하십시오 - 귀하의 경우에 잘 작동해야합니다. – Reflective

+0

당신이 최고입니다! 고맙습니다! –