2013-11-21 5 views
0

div 안에있는 이미지의 양을 계산하는 슬라이드 쇼를 만들려고합니다. 각 이미지에 대해 클릭 가능한 원을 만듭니다. 예를 들어루프로 클릭 이벤트 만들기 jQuery

l = heroimgs.length; 
for(var i=0; i<l; i++){ 
    $('#heronavpoint'+i).click(function(){ 
     $('.heroimg:visible').fadeOut(800); 
     $('.heroimg:eq('+i+')').stop().delay(800).fadeIn(); 
    }); 
} 
+0

사용 클로저 ... –

+0

[여기는 클로저 작업 방법] (http://conceptf1.blogspot.com/2013/11/javascript-closures.html) –

답변

2

, 폐쇄 사용 :

가 실패 할 것 같다 코드입니다 귀하의 경우에는

for (var i = 0; i < l; i++) { 
    (function (i) { 
     $('#heronavpoint' + i).click(function() { 
      $('.heroimg:visible').fadeOut(800); 
      $('.heroimg:eq(' + i + ')').stop().delay(800).fadeIn(); 
     }); 
    }(i)); 
} 

을, 당신은을 사용할 수

$('[id^=heronavpoint]').click(function() { 
    $('.heroimg:visible').fadeOut(800); 
    $('.heroimg:eq(' + $(this).index() + ')').stop().delay(800).fadeIn(); 
}); 
+0

Thx ! 매개 변수가있는 추가 함수를 사용하는 것과는 다른 점이 무엇입니까? –