单击单个按钮时的 jquery 动画功能
$('.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 函数的内部。
$('.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;
}
});
})
I'm Novice to jQuery. please help me
I have One button and two div boxes. by default the first div box(foo_menu1) will appear.
while click on the button the the first box will appear and second one should disappear.
but when I click the first time its working good upto the first IF condition.
but if I click again the same btn, It doesnt go to inside of the else function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将
var anim = 0;
移到外部并使其成为全局变量。否则,您将在单击时重新初始化它。
另外,如果您想存储与元素相关的数据,我建议您查看 jquery 的
.data()
API。这将避免您的范围内的全局变量。http://api.jquery.com/jQuery.data/
You need to move
var anim = 0;
outside and make it a global variable.Otherwise you're reinitializing it on click.
Also, I suggest you look at the
.data()
API of jquery if you want to store data pertaining to the elements. This will avoid global variables in your scope.http://api.jquery.com/jQuery.data/