在addClass之后,Jquery动画不起作用

时间:2013-09-07 19:36:59

标签: jquery slider jquery-animate addclass

当我点击底部的div时,我想要向下移动幻灯片,如果再次单击它,则备份。我正在使用这个jquery,但第二个函数没有做任何事情。

$('#form-toggle').click(function(){
  $('#form-index').animate({
    marginTop:"+300",
  });
  $('#form-toggle').addClass("close-form");
});
$('.close-form').click(function() {
  $('#form-index').animate({
    marginTop:"-300px",
  });
  $('#form-toggle').removeClass('close-form');
});

2 个答案:

答案 0 :(得分:2)

您正在向该元素动态添加一个类,并且您的脚本在该元素可用之前附加了click事件处理程序。

尝试使用 on 方法委派活动。

$('.parent-class').on('click', '.close-form', function () {
    ....
});

答案 1 :(得分:0)

如何将其简化为:

var animateOption = {marginTop : -300};
$('#form-toggle').click(function(){
    animateOption.marginTop = -animateOption.marginTop;
  $('#form-index').animate(animateOption);
});