2012-11-25 49 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