2016-07-29 7 views
1

필자 내 자바 스크립트 함수 cycleImages를 정의하지만, 어떤 이유에 대한 정의를 heres 내 코드 정의되지 않은 :catch되지 않은 오류 ReferenceError : cycleImages이

<script> 

     (function($) { 
      function cycleImages(){ 
       var $active = $('#cycler .active'); 
       var $next = ($active.next().length > 0) ? $active.next() : $('#cycler img:first'); 
       $next.css('z-index',2); 
       $active.fadeOut(1500,function(){ 
        $active.css('z-index',1).show().removeClass('active'); 
        $next.css('z-index',3).addClass('active'); 
       }); 
      } 

      $(document).ready(function(){ 
       setInterval('cycleImages()', 7000); 
      }) 
     })(jQuery); 
    </script> 

답변

2

당신은 실제로 기능을 캡처하지 않는, 당신은 단지를 전달하는 문자열 :

그래서 창에서 실행하려고하면 해당 문자열을 평가하고 코드를 실행합니다. 그때까지는 사용자는 인클로저의 범위를 벗어 났으며 기능은 실제로 정의되지 않았습니다.

대신 문자열의 실제 기능을 사용하여 함수에 대한 참조를 캡처 할 수 있습니다

:

setInterval(cycleImages, 7000); 
+1

https://jsfiddle.net/a5kb8zf7/, 당신은 당신이있어 오신 것을 환영합니다 :)에게 – DontVoteMeDown

+0

감사이야 최고이고 미안하지만 내가 15 명의 담당자의 아래에있다라고 생각하는 I can not는 당신에게 투표를 기울인다. – Moulie415

관련 문제