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

时间:2011-04-01 10:45:42

标签: jquery jquery-animate

    $('.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)。 点击按钮时,第一个框将出现,第二个框应该消失。

但是当我第一次点击它的工作状态到第一个IF状态时。 但如果我再次点击相同的btn,它就不会进入else函数内部。

1 个答案:

答案 0 :(得分:1)

您需要将var anim = 0;移到外面并使其成为全局变量。

var anim = 0;

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

否则,您将在点击时重新初始化它。

另外,如果您想存储与元素相关的数据,我建议您查看jquery的.data() API。这样可以避免范围内的全局变量。

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