O più in generale, c'è un modo per aggiungere CSS arbitrario a un elemento HTML in javascript senza JQuery?Come impostare l'angolo di rotazione di un div in javascript?
In questo momento funziona in Chrome, Firefox e IE 9/10.
var css = getRotationCSS(angle);
var div = document.getElementById('mydiv');
//div.css = css; ???
div.innerHTML = '<div style="'+css+'">HELLO</div>';
devo aggiungere un div all'interno del div per arrivare allo stile = ''
Tutti gli esempi che ho visto appena hanno un angolo di hardcoded ma ho bisogno di lavorare per qualsiasi angolazione 0- 360, dovrei fare 360 lezioni, 1 per ogni grado, quindi impostare la classe?
function getRotationCSS(deg)
{
return "\
-webkit-transform: rotate("+deg+"deg); \
-moz-transform: rotate("+deg+"deg); \
-ms-transform: rotate("+deg+"deg); \
-o-transform: rotate("+deg+"deg); \
transform: rotate("+deg+"deg); \
-ms-filter: 'progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)'; \
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678, sizingMethod='auto expand'); \
";
}
Sì, il codice IE 7/8 non è corretto, ho bisogno di una funzione per convertire i gradi in una matrice.
Anche il codice di IE 7/8 non ruota affatto quando ho emulare IE 7/8 nel mio IE 10. Ho cercato su google il codice e si suppone di ruotarlo di 45:
<html>
<body>
<div style='border:1px solid green;margin:333px;padding:333px;'>
<div style="
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
-ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)\";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678, sizingMethod='auto expand');
">
HELLO
</div>
</div>
</body>
</html>
Non dovresti sapere quale css trasformare per applicare tramite javascript (utilizzando la funzione di rilevamento)? – Alan
No js fiddle? CHE COSA? : O – Senjai