2011-04-01 74 views
0
$('.edit').click(function() { 
    var anim = 0; 
    if(anim == 0){ 
     $('.foo_menu1').animate({ 
      bottom:"0px", 
      opacity: "1", 
      }, 600); 

     $('.foo_menu2').animate({ 
      bottom:"-47px", 
      opacity: "0", 
      }, 600); 

     anim += 1; 
    }else{ 
     $('.foo_menu1').animate({ 
      bottom:"-47px", 
      opacity: "0", 
      }, 600); 

     $('.foo_menu2').animate({ 
      bottom:"0px", 
      opacity: "1", 
      }, 600); 
      anim=0; 
    } 
    }); 
}) 

我是jQuery的新手。請幫我 我有一個按鈕和兩個div盒子。默認情況下會出現第一個div盒子(foo_menu1)。 ,同時點擊按鈕,第一個框會出現,第二個框應該消失。點擊單個按鈕的jquery動畫功能

但是當我點擊第一次它的工作良好達到第一個中頻條件。 但如果我再次點擊相同的btn,它不會進入else函數的內部。

+1

將'var anim = 0;'移到點擊函數的外部。您正在重新設置anim以便每點擊一次。 – mVChr 2011-04-01 10:47:31

回答

1

您需要將var anim = 0;移到外面並使其成爲全局變量。

var anim = 0; 

$('.edit').click(function() { 
    if(anim == 0){ 
    // code 
    } else { 
    } 
}) 

否則,您將通過點擊重新初始化它。

另外,我建議你看看jQuery的.data() API,如果你想存儲有關元素的數據。這將避免範圍內的全局變量。

http://api.jquery.com/jQuery.data/