2011-11-09 3 views
2

J'ai écrit quelques jQuery qui fonctionnent parfaitement dans les navigateurs WebKit et Firefox. Je suis en train de tester dans Opera et j'ai des problèmes avec la durée de transition pour un élément. Ceci est mon code:Obtenir des propriétés CSS préfixées dans Opera via JavaScript

slideSpeed = $(".animate-in").css("-o-transition-duration"); 
console.log("Slide Speed", slideSpeed); 

Avec le CSS suivant:

.animate-in{ 
    -o-transition-duration: 2.5s; 
} 

Pour une raison quelconque, Opera ne retourne pas "2.5s". Quelqu'un peut-il expliquer pourquoi s'il vous plaît?

jsFiddle: http://jsfiddle.net/UGdUs/7/

Répondre

2

On dirait un bug.

Si vous inspectez un élément, vous pouvez voir que toutes les transitions de style calculées sont vides. Même si vous essayez d'accéder directement à la propriété à partir de JavaScript pur:

var delay = document.getElementById('id').style.OTransitionDelay; 

retourne la chaîne vide. Cependant, si vous le définissez de cette façon

document.getElementById('id').style.OTransitionDelay = '2.5s'; 

Et ensuite le récupérer de cette façon, cela fonctionne.

+0

Merci, je n'ai pas repéré les valeurs vides dans les styles calculés. Signalez-le comme un bug. –