2016-10-25 3 views
0

여기 루프에서 계속되는 애니메이션 집합이 있는데 첫 번째 반복에서만 함수를 호출하려고하는데 첫 번째 반복이 끝나면 함수를 호출하면 안됩니다. 더 이상. 내가 어떻게 할 수 있니? 여기 루프에서 처음으로 함수를 호출하는 방법

전역 변수를

var isTriggered = false; 

테스트를 만들기 내 코드

   var r5anim1 = function(){ 
       $(".r5").velocity({ 
         opacity: 1, 
         scale: [1,0], 
        }, { 
        duration:300, 
        complete: function() { 
        r5anim2(); 
        } 
       }); 
      } 

      var r5anim2 = function(){ 
       $(".r5").velocity({ 
        opacity: 0, 
       },{ 
        duration:200, 
        complete: function() { 
        r6anim1(); 
        wishes() // here i have called the function which should execute only on first loop. 
       }    
      }); 
      } 

      var r6anim1 = function(){ 
       $(".r6").velocity({ 
         opacity: 1, 
         scale: [1,0], 
        }, { 
        duration:300, 
        complete: function() { 
        r6anim2(); 
        } 
       }); 
      } 

      var r6anim2 = function(){ 
       $(".r6").velocity({ 
        opacity: 0, 
       },{ 
        duration:200, 
       complete: function() {           
        r5anim1();  //on end this will start the loop again 
       }    
      }); 
      } 




     /*****************this function should be called only for the first time******************/ 
     var wishes = function(){ 
      boolvalue = 0; 
      $(".wishes").velocity({ 
        opacity: 1, 
        scale: [1,0.4], 
       }, { 
       duration:600, 
      }); 
     } 
     r5anim1(); 
+2

루프 외부에서 임시 변수 하나를 선언하고 기본값을 true로 설정하고 true 호출 함수가 호출 된 함수가 false가되면 루프에서 확인합니다 – Bharat

답변

1

경우 isTriggered, 그것에서

if(!isTriggered) 
{ 
wishes() 
} 

변화를 기능을 true로 변수를 호출 티거하지 않을 경우 루프가 멈추도록하는 wishes() 함수.

,
function wishes() { 
isTriggered = false; 
//other code 
} 
0

당신은 세계적으로 액세스 할 수있는 변수를 생성하고 플래그가 false 인 경우에만 기능과 functuon가 호출 될 때 true로 플래그를 변경 거짓

var isFunctionCalled = false; 

전화에 그 기본합니다.

if(isFunctionCalled == false){ 
    wishes() 
    isFunctionCalled = true; 
}