2010-06-10 5 views
1

저는 베지에 패스 플러그인을 사용하여 애니메이션을 통합하려고하는데 제대로 구현할 수 없습니다. 나는 내가 가지고있는에이 코드 조각을 추가하기 위해 노력하고있어 그래서Jquery : 함수를 삽입하기위한 구문

$('#next2btn').live('click', function(){ 
     $(this).attr('id','next3btn'); 
     $('#content2').show(300, function() { 
      $('#account').fadeTo(500,1.0) 
      var arc_params = { 
       center: [278,120], 
       radius: 186, 
       start: -90, 
       end: 90, 
       dir: -1 
       }; 
      }); 
     $("#account").animate({path : new $.path.arc(arc_params)},1000); 
}); 

:

여기에 내가 가진 무엇을, 아래로 벗겨진

처럼 자체에서 작동
var arc_params = { 
       center: [278,120], 
       radius: 186, 
       start: -90, 
       end: 90, 
       dir: -1 
       }; 
     }); 
$("#account").animate({path : new $.path.arc(arc_params)},1000) 

다른 하나.

나는 변수를 선언하는 것과 그 일을하는 곳이라고 생각합니다.

필자는 버튼 클릭시 몇 가지 다른 애니메이션/동작을 본질적으로 연결합니다. 어떤 통찰, KJ는 그 자체로 작동하지 않습니다 게시 니펫을 ​​

답변

0

에 대한

감사합니다; 구문 상 올바르지 않습니다 (일치하지 않음 )).

당신은 아마 원하는됩니다 :

$('#next2btn').live('click', function(){ 
    $(this).attr('id','next3btn'); 

    $('#content2').show(300, function() { 
     $('#account').fadeTo(500,1.0); 

     var arc_params = { 
       center: [278,120], 
       radius: 186, 
       start: -90, 
       end: 90, 
       dir: -1 
      }; 

     $("#account").animate({ 
      path : new $.path.arc(arc_params) 
     }, 1000); 
    }); 
}); 

(물론, equivilent 인

$('#next2btn').live('click', function(){ 
    $(this).attr('id','next3btn'); 

    $('#content2').show(300, function() { 
     $('#account').fadeTo(500,1.0); 

     $("#account").animate({ 
      path : new $.path.arc({ 
       center: [278,120], 
       radius: 186, 
       start: -90, 
       end: 90, 
       dir: -1 
      }) 
     }, 1000); 
    }); 
}); 
+0

,하지만'$ ('# 계정 ') .animate()는 두 예제에서 서로 다른 시간에 실행됩니다. 맞춰봐 그냥 오타이야 :) –

+0

@ 시멘 : 오, 참으로. 감사. – Matt

1

당신은 당신의 가정에 맞아 :) 수 있습니다. show의 콜백 함수 안에 arc_params을 선언하면이 코드는 함수 내부에서만 볼 수 있으며 코드 외부에서는 볼 수 없습니다. 함수 밖에서 선언하면 애니메이션 기능에서 볼 수 있습니다.

여기가, 다른 코드의 독립적 인 작동하는 방법의 간단한 예입니다 : 그들은 두 번째 예제에서 인라인 전송되는 arc_params``에 관해서 동등한 것

var a = "outside function"; 
function someFunction() { 
    var b = "inside function"; 
} 

alert(a); //alerts correctly 
alert(b); //gives error: 'b is not defined' (as it is not visible from outside the function 
+0

좋아,이 말이 맞는 말이야. 그러나, 이론의 측면에서 이제 thiking. 콜백 함수를 사용하여 작업을 일시 중지 할 수있는 유일한 방법입니다. 지연 (xxxx)을 사용하여 일한 적이 없지만 이제는 애니메이션 대기열을 더 조사해야하고 어디에서/왜 내가 물건을 묶을 수 있도록 콜백 함수를 사용했는지 확인해야한다고 생각합니다. 나는 기존의 함수에 삽입 할 때 모든 괄호와 괄호라고 생각한다. ... 어떤 이유로 든 액션 스크립트가 더 쉬웠다. 감사 – kelly

관련 문제