$('.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函数内部。
答案 0 :(得分:1)
您需要将var anim = 0;
移到外面并使其成为全局变量。
var anim = 0;
$('.edit').click(function () {
if(anim == 0){
// code
} else {
}
})
否则,您将在点击时重新初始化它。
另外,如果您想存储与元素相关的数据,我建议您查看jquery的.data()
API。这样可以避免范围内的全局变量。