1

最初のクリックでdivを右にスライドさせたいのですが、もう一度クリックすると元の位置に戻りたいです

私は次のものを持っていますが、divは動かず、console.logは最初のクリックでもclicked-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);
    }); 
4

2 に答える 2

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;
}

クリックするたびにフラグの値が切り替わり、条件式のさまざまな部分が実行されます。

于 2012-08-30T20:34:52.810 に答える
1

このメソッドは減価償却されています。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すると、渡されたすべてのコールバックがクリックごとに次々とトリガーされます。

于 2012-08-30T20:33:53.587 に答える