2011-04-20 42 views
0

我一直在處理這個腳本大約兩個小時,我無法弄清楚我做錯了什麼。我以前從未在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


而且,順便說一句:使用變量名$一般不太被視爲一個好主意......

+0

我需要修改變量A我的函數內,因此下一次我點擊按鈕,它將有不同的行動,我怎麼能做到這一點,而不會超越最初的變量聲明? – Derek 2011-04-20 20:52:04

+0

這是我現在,它仍然沒有工作。 \t \t'$( '#pdnav1')點擊(函數(){ \t \t \t如果(A == 「無」){ \t \t 。\t $(」。pdhide ')動畫({頂部:' - 200像素 '},500);。 \t \t \t $('。pdhide2' )延遲(500).fadeOut(0); \t \t \t $ ('.pdbgimghide')。delay(0).fadeOut(0); \t \t \t a =「yes」; \t \t \t} else { \t \t \t $('#pd1')。delay(0).fadeIn(0); \t \t \t $('#pdbgimg1')。delay(0).fadeIn(0); \t \t \t $('#pdbg1')。animate({top:'0px'},500); \t \t \t a =「no」; \t \t \t} \t \t}); ' @pascal martin – Derek 2011-04-20 21:07:02

+0

我在我的編碼之外定義了一個變量,並且還有一個onready語句。感謝您的幫助:D – Derek 2011-04-20 21:18:46

相關問題