2012-11-25 48 views
4

我有一個動畫border-top-left-radius風格的問題。我通過分別輸入兩個長度值來使用這種風格。jQuery的動畫邊框半徑

border-top-left-radius: 15px 25px; 

我想通過jquery.animate()分別增加這兩個長度值。

有沒有辦法做到這一點?

+0

你嘗試過這些作爲一個字符串? – sourRaspberri

+0

分別是什麼意思?一個接着一個接着一個,或者好像他們完全獨立地被兩個彼此沒有交談的東西所控制? – Popnoodles

+0

是的,我嘗試過,但沒有運氣。 –

回答

3

border-left-left-radius只接受一個值嗎?所以,你會製作動畫,如:

$('.class').animate({borderTopLeftRadius: 20}) 

編輯


不知道的jQuery supporst此開箱。也許你可以實現一步的回調是這樣的:

$('#container').animate({ 
    borderTopLeftRadiusSideLength: 500, 
    borderTopLeftRadiusUpperLength: 50 
}, { 
    duration: 5000, 
    step: function (val, context) { 
     $(this).data(context.prop, val); 
     var side = $(this).data('borderTopLeftRadiusSideLength'); 
     var upper = $(this).data('borderTopLeftRadiusUpperLength'); 
     if (side && upper) { 
      $(this).css('borderTopLeftRadius', side + 'px ' + upper + 'px'); 
     } 
    } 
}); 

http://jsfiddle.net/YWsQn/1/

+1

不,它接受兩個,它可以使用一個橢圓形的弧不僅僅是一個完美的圓形 – Popnoodles

+0

popnoodles是正確的。但無論如何感謝.. –

+0

我不知道。看到我的編輯 – sroes