2011-04-20 1 views
0

나는 약 2 시간 동안이 스크립트를 작업 해 왔으며 내가 잘못하고있는 것을 알 수 없다. 전에 jquery에서 변수를 사용 해본 적이 없으며, 내가 읽는 모든 가이드는 변수를 표시하지만 유용한 컨텍스트에서는 사용되지 않습니다. 여기 내 코드입니다 :이 과정을 매번 반복 (이하 "다른"문을 다음 다음 번을 클릭하고 문 처음 "만일"주로 내가하고 싶은 모든이기본적인 것을 만들려고 노력했지만 실제로 읽지 않은 것은 나를 돕는 것입니다. 도와주세요!

var $a = 1; 
    var $b = 1; 

    $('#pdnav1').click(function(){ 
     if($a == $b) { 
      var $a = 0; 
      $('#pdbgimg').html('<img id="pdimg" src="http://royalty-ro.com/forums/uploads/images/1303326955-U1.jpg">'); 
      $('#pd1').fadeIn(0); 
      $('#pdbg1').animate({top: '0px'}); 
     }else{ 
      var $a = 1; 
      $('.pdhide').animate({ 
       top: '-200px' 
      }); 
      $('.pdhide2').delay(400).fadeOut(0); 
     } 
    }); 

당신은 클릭 그것은 토글처럼).

답변

1

당신은 함수 내부 $a 변수를 선언됩니다

var $a = 0; 

그 선언은 함수 내에서 함수의 외부에서 정의되어 글로벌 $a 변수를 무시합니다.

전역 변수를 사용하고 함수 내에서 액세스하려는 경우 해당 함수 내에 var을 사용하여 전역 변수를 다시 정의하지 마십시오.


자세한 내용은 Variable Scope을 참조하십시오. BTW


그리고, : 변수 이름에 $ 일반적으로 매우 좋은 생각으로 간주되지 않습니다를 사용하여 ...

+0

나는 버튼을 클릭 한 다음, 그래서 내 함수의 내부 변수 A를 수정해야 할 것이 다른 동작을 할 것입니다. 초기 변수 선언을 지나치게 사용하지 않고 어떻게 할 수 있습니까? . 가 \t \t'$ ('#의 pdnav1은'() 함수() { \t \t \t 경우 (A == "아니오") { \t \t하십시오 – Derek

+0

이것은 내가이 여전히 작동하지 않는, 지금 가지고있는 것입니다 . \t $ ('. pdhide') 애니메이션 ({가기 '- 200 픽셀'}, 500). \t \t \t $ ('. pdhide2') 지연 (500) .fadeOut (0) \t \t \t $ ('.pdbgimghide'). 지연 (0). 페이드 아웃 (0); \t \t \t a = "예"; \t \t \t} else { \t \t \t $ ('# pd1'). 지연 (0) .fadeIn (0); \t \t \t $ ('# pdbgimg1'). 지연 (0). 페이드 인 (0); \t \t \t $ ('# pdbg1'). animate ({top : '0px'}, 500); \t \t \t a = "no"; \t \t \t} \t \t}); ' @pascal martin – Derek

+0

필자는 코딩 과정에서 변수를 정의하고 onready 문을 더 내렸다. 도움을 주셔서 감사합니다. D – Derek

관련 문제