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

发布于 2024-10-29 05:06:18 字数 765 浏览 1 评论 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)将会出现。 单击按钮时,第一个框将出现,第二个框应消失。

但是当我第一次单击时,它在第一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

林空鹿饮溪 2024-11-05 05:06:18

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

var anim = 0;

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

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

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

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

You need to move var anim = 0; outside and make it a global variable.

var anim = 0;

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

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/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文