Sto tentando di animare la diapositiva di un menu con lo script. Per fare questo, ho bisogno di animare la proprietà marginTop
di un elemento e incrementarlo da -30px
a 0px
.Impossibile impostare lo stile marginTop con lo script utilizzando IE8, ma funziona nei browser di persone adulte
Tuttavia, in IE8, l'animazione semplicemente non fa nulla. Ho rintracciato il fatto che l'impostazione di marginTop
in script sembra non avere alcun effetto. In Chrome e Firefox, questo funziona bene.
Ecco un esempio che funziona con Chrome/Firefox, ma non IE:
Si tratta di un bug di IE, e se è così, ci sono delle soluzioni per questo comportamento? Grazie!
Aggiornamento:
Ecco alcune schermate del bug.
In Chrome, il mio violino si presenta così (Si può vedere il "Nome del nuovo menu" del testo, dal momento che abbiamo cambiato il margine con lo script)
In IE8/Vista, sembra che Questo. Posso confermare nei tool di sviluppo che topMargin
è in realtà 0px
come previsto, tuttavia gli elementi non sono state riprese tratte:
Un altro aggiornamento:
repros questo bug (almeno per me) su IE8 in esecuzione su Windows 7 e anche IE8 in esecuzione su Windows 2008 Server. NON replica per me su IE7 in esecuzione su WinXP. Non ho macchine IE9 per testarlo.
Ancora un altro aggiornamento:
ho trovato un potenziale work-around. Se si imposta p.newmenu
su position: absolute;
anziché su position: relative;
, allora funziona. Tuttavia, nel mio caso sto ospitando l'intera cosa in un menu a comparsa e ho bisogno di questo controllo per estrarre la parte inferiore della finestra di dialogo modale, quindi posizionarlo in modo assoluto non è un'opzione. Tuttavia, forse questa conoscenza può aiutare a trovare una soluzione praticabile. Un esempio di questo lavoro può essere trovato here.
ci credereste Un altro aggiornamento ?:
ho fatto trovare una soluzione per ora. Se uso top: -30px;
invece di un margine superiore negativo, allora tutto funziona. top
si comporta in un modo leggermente diverso rispetto a un margine e rende l'interfaccia utente non molto carina. In particolare, quando usi top: -30px
, avrai 30px di spazi bianchi sotto il tuo elemento poiché il posizionamento relativo non influenza il flusso di altre pagine.
Mi piacerebbe molto capire perché non riesco a utilizzare un margine superiore negativo su IE come faccio con altri browser, quindi spero ancora che qualcuno possa fornire una risposta che fornirà tutti i vantaggi di un margine superiore negativo ma funziona anche con IE8.
+1 per il titolo da solo –
Thanks :) sto iniziando ad accettare il fatto che il mio sito sarà probabilmente basta guardare come il culo in IE. –
A seconda di chi è il pubblico previsto, potrebbe funzionare ancora –