Pregunta

Hace poco hizo un guión Mootols para mi sitio web. Usando Fx.Morph, yo creé con éxito los efectos que yo buscaba. Sin embargo, el guión falla en Internet Explorer 7 y 8 (funciona bien en 9, no se molestan en comprobar IE6). Estoy utilizando mootools 1.2.5.

Excavando el problema, yo podría averiguar lo siguiente

  • Todos mis problemas vienen de Fx.Morph, que llama setStyle con valores no válidos
  • De alguna manera, mientras que morphing altura de un elemento de 0px a 160px, setStyle se llama con un valor negativo (como -3px) <---- esto es donde IE lanza un error

Por ahora, "parcheado" el error de la siguiente manera en la función setStyle del núcleo Mootools:

if((Browser.Engine.trident && value[0] == '-' && (property == 'height' || property == 'width')) || value[0] == 'N')
    value='0px';

Cualquier persona tiene algo más de información sobre este tema o experimentado un problema similar?

¿Fue útil?

Solución

Parece que Morph no le importa si está a punto de setStyle llamada con inválida propiedad / valor combinado y setStyle no sea importa si se trata de establecer un valor no válido para una propiedad especificada.

Con esto en mente, mi problema vino del efecto que estaba usando. Yo estaba usando algo así como "Bounce.easeIn" con un elemento que tenía a la altura de la metamorfosis 0px a 160px. Morph llamaría entonces setStyle con valores negativos.

En mi caso, al ajustar el efecto de "lineal" hecho funciona como se esperaba.

En mi opinión, Morph debe ser "consciente" de lo que está por hacer y evitar llamar setStyle con valores no válidos. Element.setStyle también debe generar un error cuando se llama con imposibles de propiedad / valor en lugar de dejar bloqueo del navegador / manejar el problema. Voy a ver si esto se ha solucionado en 1.3 y abrir un billete si no.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top