2012-11-09 148 views
-1

爲什麼此代碼不能用作onclick?Onclick無法正常工作

$('.mainz11').click (function() { 
    $(this).animate({ 
     height: '280px' 
    }, 800); 
}, function() { 
    $(this).animate({ 
     height: '100px' 
    }, 800); 
}); 
+5

[點擊](http://api.jquery.com/click/)只需要1個處理函數參數,而不是2個。你想要做什麼?另請參閱[如何接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – jbabey

回答

2

如果你試圖首先擴展元素,然後收縮它,它應該是這樣的:

$('.mainz11').click(function() { 
    // determine target heights 
    if ($(this).hasClass("expanded")) { 
      var targetHeight = 100; 
    } else { 
     var targetHeight = 280; 
    } 

    // animate 
    $(this).animate({ 
     height: targetHeight 
    }, { 
     duration: 800, 
     complete: function() { $(this).toggleClass("expanded"); } 
    }); 
}); 

這可以使用一些清理,但它有訣竅,你可以用這種方式輕鬆地跟蹤擴展項目。 請參閱:http://jsfiddle.net/mpQek/3/

0

click函數只接受一個函數,但你傳遞了2個函數。你可以試試這樣說:

$('.mainz11').click (function() { 
    $(this).animate({ 
    height: '280px' 
    }, 800); 
    }); 
0

如果你想鏈的動畫,把一個動畫的函數,在完成第一個動畫的運行:

$('.mainz11').click (function() { 
    $(this).animate({ height: '280px', 800, 
    function() { $('.mainz11').animate({ height: '100px'}, 800) 
); 
});