Ich erwartete ursprünglich, dass so etwas wie ...
$("selector")
.css({borderRadius: 10});
.animate({borderRadius: 30}, 900);
... funktionieren würde. Aber ich habe mich geirrt: Webkit erlaubt dir den Wert für alle vier Ecken über borderRadius
einzustellen, aber lass dich nicht zurücklesen - also mit dem obigen Code beginnt die Animation immer bei 0 statt 10. IE hat das gleiche Problem. Firefox wird lassen Sie es wieder lesen, so funktioniert alles wie erwartet dort.
Nun ... Border-Radius hat eine Art von Geschichte der Umsetzung Unterschiede.
Glücklicherweise gibt es eine Behelfslösung: nur jeder Eckenradius individuell festlegen:
$("selector")
.css({
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
borderBottomLeftRadius: 10,
borderBottomRightRadius: 10 })
.animate({
borderTopLeftRadius: 30,
borderTopRightRadius: 30,
borderBottomLeftRadius: 30,
borderBottomRightRadius: 30}, 900);
Beachten Sie, dass, wenn Sie Kompatibilität mit älteren Browsern erhalten möchten, können Sie all-out gehen und die alte browser- verwenden vorangestellte Namen:
$("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);
Dies beginnt jedoch ziemlich verrückt zu werden; Ich würde es nach Möglichkeit vermeiden.
Nun, irgendwie. Wenn im Stylesheet ein Radius festgelegt ist, werden die Ecken quadratisch und animieren Sie dann von dort zu 30 (um Ihr Beispiel zu verwenden). Es scheint von 0 auf den gegebenen Wert gehen zu wollen. Ich bekomme das gleiche Ergebnis in Safari und Firefox 3.5 Beta. – user113716
Korrektur: Es scheint in Firefox richtig zu funktionieren. Safari möchte nur erhöhen. – user113716
Sieht aus, in welche Richtung ich auch gehe, Safari beginnt immer mit dem Fangen auf 0. Alle Umgehungsideen? Vielen Dank. – user113716