Jquery再次向上滑动

时间:2015-07-29 17:34:49

标签: jquery

我试图在点击另一个div之后上下滑动div。

这是我的jquery代码:

 $('#SchimbareEmail').click(function () {
        $('.SchimbareParola').animate({top: '+=234px'}, 200);
    });

当我点击 #SchimbareEmail div .SchimbareParola 下降了234 px但是当我再次点击它再次下降时我希望它在234px之后上升第二次点击。是否有人知道如何管理这个?

2 个答案:

答案 0 :(得分:2)

您可以使用 conditional(ternary) operator

执行此类操作



$('#SchimbareEmail').click(function() {
  $('.SchimbareParola').animate({
    top: (this.toggle ? '-=234px' : '+=234px')
  }, 200);
  this.toggle = !this.toggle;
});

<link href="https://code.jquery.com/ui/1.11.4/themes/dark-hive/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<button id="SchimbareEmail">Click!!</button>
<div style="position:relative;width:100px;height:10px;background:black;" class="SchimbareParola"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

添加一个类,说明它是关闭还是关闭。

var div = $('.SchimbareParola');

if(div.hasClass('down')){
    div.animate({top: '-=234px'}, 200).addClass('up').removeClass('down');
} else {
    div.animate({top: '+=234px'}, 200).addClass('down').removeClass('up');
}

然后,在函数中,检查确定是增加还是减少top属性的类。

以这种方式使用类可以帮助您设置样式,并根据其位置管理其他视觉元素。