Jquery 2 Clicks功能Animate

时间:2012-08-30 20:32:39

标签: jquery jquery-animate

我想在第一次点击时向右滑动div,当它再次点击时,我希望它返回原来的位置

我有以下但是div没有移动,console.log显示在第一次点击时点击了-2。

$('.note-title').click(function(){
        console.log("clicked-1");
        $(this).animate({'margin-left':'200px'},200);
    },function(){
        console.log("clicked-2");
        $(this).animate({'margin-left':'0px'},200);
    }); 

2 个答案:

答案 0 :(得分:4)

如何简单地使用布尔标志?

var clickOne = true;
$('.note-title').click(function(){
  if (clickOne){
    $(this).animate({'margin-left':'200px'},200);
  }else{
    $(this).animate({'margin-left':'0px'},200);
  }
  clickOne = !clickOne;
}

每次单击都会切换标志的值并执行条件表达式的不同部分。

答案 1 :(得分:1)

注意此方法为depreciated。你应该使用Lix的解决方案。


使用.toggle

$('.note-title').toggle(function(){
    console.log("clicked-1");
    $(this).animate({'margin-left':'200px'},200);
},function(){
    console.log("clicked-2");
    $(this).animate({'margin-left':'0px'},200);
}); 

使用.click,所有传入的回调都会在每次点击时触发,一个接一个。