2017-05-26 110 views
0

我不明白我的代碼出了什麼問題?我想在點擊時在jQuery中切換兩個函數。謝謝如何在jQuery中的兩個函數之間切換?

$(".col-md-3").toggle(
     function() 
      $(this).animate({ 
      left: "-5px", 
      top:"-5px" 
      }, 100);, 
     function() 
      $(this).animate({ 
      left: "5px", 
    top:"5px" 
    }, 100); 
); 
+0

您可以簡單地將一個類添加到div並打開和關閉該類,並在該類上進行CSS轉換,以便在切換上提供動畫。 – gavgrif

+0

你的函數不包含'{'和'}' – User6667769

回答

0

您的代碼似乎格式不正確例如沒有開合支撐等。

你可以試試這段代碼嗎?

$(".col-md-3").toggle(
    function() { 
     $(this).animate({ 
      left: "-5px", 
      top: "-5px" 
     }, 100); 
    }, 
    function() { 
     $(this).animate({ 
      left: "5px", 
      top: "5px" 
     }, 100); 
    } 
); 
0

你的函數體需要在{},喜歡它是一條線if聲明,如果這是你在想什麼它是不可選的。

$(".col-md-3").toggle(
    function(){ 
    $(this).animate({ left: "-5px", top:"-5px" }, 100); 
    }, 
    function(){ 
    $(this).animate({ left: "5px", top:"5px" }, 100); 
    } 
); 
0

感謝您指出:)這是一個愚蠢的錯誤...... 一旦我嘗試了,我意識到這不正是我想要的。我最初希望物體在「點擊」時進行動畫製作,並在再次「點擊」時動畫回到原始狀態。

如果我開始:

$( 'COL-MD-3 ')上(' 點擊',boxMove);

功能boxMove(){

$(this).animate({ 
    left: "-5px", 
    top:"-5px" 
}, 100); 

};

它只動畫一種方式。我如何添加函數,如果(this)已經有動畫,它應該左移「5px」和頂部「5px」以返回到原始(未動畫)狀態?

非常感謝你提前!