单击单个按钮时的jquery动画功能

单击单个按钮时的jquery动画功能,jquery,jquery-animate,Jquery,Jquery Animate,我是jQuery的新手。请帮帮我 我有一个按钮和两个分线盒。默认情况下,将显示第一个div框(foo_menu1)。 单击按钮时,第一个框将出现,第二个框应消失 但是,当我第一次单击时,它在第一个IF条件下工作良好。 但是如果我再次单击同一个btn,它不会进入else函数的内部。您需要移动var anim=0外部,并将其设置为全局变量 $('.edit').click(function () { var anim = 0; if(anim == 0){ $

我是jQuery的新手。请帮帮我 我有一个按钮和两个分线盒。默认情况下,将显示第一个div框(foo_menu1)。 单击按钮时,第一个框将出现,第二个框应消失

但是,当我第一次单击时,它在第一个IF条件下工作良好。
但是如果我再次单击同一个btn,它不会进入else函数的内部。

您需要移动
var anim=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的
.data()
API。这将避免在您的范围内使用全局变量


Move
var anim=0在单击功能之外。每次单击都会将动画重置为零。
var anim = 0;

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