2012-08-30 97 views
1

我想就其第一次點擊一個div向右滑動,當其再次點擊,我想它返回到原來的位置jQuery的2點擊功能動畫

我有以下,但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); 
    }); 

回答

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,都在傳遞迴調就會觸發每次點擊,一前一後。

+2

'.toggle' docs - > http://api.jquery.com/toggle-event/ –

+0

@Vega謝謝,修正。 –

+2

'toggle'鼠標事件是_deprecated_。 – undefined

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

每次單擊切換標誌的值並執行條件表達式的不同部分。