jquery animate - 返回原始位置

时间:2015-12-09 17:31:07

标签: javascript jquery html

我有一个jquery动画,当单击一个按钮时会移动div:

<script> 
$(document).ready(function(){
    $("#toggle1").click(function(){
        $("#holder").animate({right: '0px'});
    });
});
</script>

如果再次单击该按钮,我希望能够将其返回到原始选项

$("#holder").animate({right: '-250px'}); // off the screen

是否有一种简单的方法可以执行此操作,还是应该尝试基于变量状态实现if语句?

2 个答案:

答案 0 :(得分:6)

你有两种方式

1st:使用布尔值

<script> 
$(document).ready(function(){
    var toggeled = true;
    $("#toggle1").click(function(){
      if(toggeled == true){
        $("#holder").animate({right: '0px'});
        toggeled = false;
      }else{
        $("#holder").animate({right: '-250px'});
        toggeled = true;
      }
    });
});
</script>

第二名:检查是否正确

$(document).ready(function(){
    $("#toggle1").click(function(){
      if(parseInt($("#holder").css('right')) == 0){
        $("#holder").animate({right: '-250px'});
      }else{
        $("#holder").animate({right: '0px'});
      }
    });
});

答案 1 :(得分:2)

我觉得这很容易:

<script type="text/javascript"> 
$(function(){
    var rightPos=0;
    $("#toggle1").on('click',function(e){
        e.preventDefault();
        $("#holder").animate({'right': rightPos+'px'});
        rightPos = rightPos == 0 ? -250 : 0;
    });
});
</script>