Estoy intentando animar el deslizamiento de un menú con script. Para hacer esto, necesito animar la propiedad marginTop
de un elemento e incrementarla de -30px
a 0px
.No se puede establecer el estilo de marginTop con secuencia de comandos utilizando IE8, pero funciona en navegadores de personas adultas
Sin embargo, en IE8, la animación simplemente no hace nada. He rastreado esto hasta el hecho de que establecer marginTop
en el script parece no tener ningún efecto. En Chrome y Firefox, esto funciona bien.
He aquí un ejemplo que funciona con Chrome/Firefox, pero no IE:
Es este un fallo de IE, y si es así, ¿existen soluciones para este comportamiento? ¡Gracias!
Actualización:
Aquí hay algunas capturas de pantalla del insecto.
En Chrome, mi violín se parece a esto (Se puede ver el "Nombre del nuevo menú" Texto, desde que cambiamos el margen con la escritura)
En IE8/Vista, que parece esta. Puedo confirmar en las herramientas de desarrollo que topMargin
es en realidad 0px
como se esperaba, sin embargo los elementos no fueron re-dibujados:
Otro Actualización:
repros este error (al menos para mí) en IE8 ejecutándose en Windows 7, y también IE8 ejecutándose en Windows 2008 Server. NO repro para mí en IE7 corriendo en WinXP. No tengo ninguna máquina IE9 para probarlo.
otra actualización:
encontré una potencial solución temporal. Si configuro p.newmenu
en position: absolute;
en lugar de position: relative;
, entonces funciona. Sin embargo, en mi caso estoy alojando todo esto en un menú emergente y necesito este control para presionar la parte inferior del cuadro de diálogo modal, por lo que posicionarlo definitivamente no es una opción. Sin embargo, tal vez este conocimiento puede ayudar a encontrar una solución viable. Se puede encontrar un ejemplo de este trabajo en here.
usted puede creer que otra actualización ?:
me hizo encontrar una solución por ahora. Si uso top: -30px;
en lugar de un margen superior negativo, entonces todo funciona. top
se comporta de una manera un poco diferente que un margen, y hace que la interfaz de usuario no se vea tan bien. En particular, cuando usa top: -30px
, tendrá 30px de espacio en blanco debajo de su elemento, ya que el posicionamiento relativo no afecta el flujo de otra página.
Me gustaría averiguar por qué no puedo usar un margen superior negativo en IE como puedo con otros navegadores, por lo que aún espero que alguien pueda proporcionar una respuesta que proporcione todos los beneficios de un margen superior negativo, pero también funciona con IE8.
+1 para el título por sí solo –
Gracias :) Estoy empezando a aceptar el hecho de que mi sitio es probable que con tan sólo mirar como el culo en el IE. –
Dependiendo de quién sea su audiencia esperada, eso aún podría funcionar –