Je était initialement prévu que quelque chose comme ...
$("selector")
.css({borderRadius: 10});
.animate({borderRadius: 30}, 900);
... fonctionnerait. Mais, j'avais tort: Webkit vous permet de définir la valeur pour les quatre coins via borderRadius
, mais ne vous laissera pas le lire - donc avec le code ci-dessus, l'animation commencera toujours à 0 au lieu de 10. IE a le même problème. Firefox vous permet de le relire, donc tout fonctionne comme prévu.
Bien ... border-radius a en quelque sorte un historique des différences de mise en œuvre.
Heureusement, il y a un travail autour: il suffit de spécifier chaque rayon d'angle individuel:
$("selector")
.css({
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
borderBottomLeftRadius: 10,
borderBottomRightRadius: 10 })
.animate({
borderTopLeftRadius: 30,
borderTopRightRadius: 30,
borderBottomLeftRadius: 30,
borderBottomRightRadius: 30}, 900);
Notez que si vous souhaitez conserver la compatibilité avec les anciens navigateurs, vous pouvez aller tous azimuts et utiliser l'ancien browser- noms préfixés:
$("selector")
.css({
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
borderBottomLeftRadius: 10,
borderBottomRightRadius: 10,
WebkitBorderTopLeftRadius: 10,
WebkitBorderTopRightRadius: 10,
WebkitBorderBottomLeftRadius: 10,
WebkitBorderBottomRightRadius: 10,
MozBorderRadius: 10
})
.animate({
borderTopLeftRadius: 30,
borderTopRightRadius: 30,
borderBottomLeftRadius: 30,
borderBottomRightRadius: 30,
WebkitBorderTopLeftRadius: 30,
WebkitBorderTopRightRadius: 30,
WebkitBorderBottomLeftRadius: 30,
WebkitBorderBottomRightRadius: 30,
MozBorderRadius: 30
}, 900);
Cela commence à devenir assez fou si; Je l'éviterais si possible.
Eh bien, en quelque sorte. Jusqu'à présent, s'il y a un rayon défini dans la feuille de style, les coins s'alignent en carré, puis s'animent à 30 (pour utiliser votre exemple) à partir de là. Il semble vouloir aller de 0 à n'importe quelle valeur donnée. J'obtiens le même résultat dans Safari et Firefox 3.5 beta. – user113716
Correction: Il semble fonctionner correctement dans Firefox. Safari veut seulement augmenter. – user113716
On dirait que quelle que soit la direction que je vais, Safari commence toujours par l'accrochage à 0. Des idées de contournement? Merci. – user113716