Question

J'ai récemment fait un script Mootols pour mon site web. En utilisant Fx.Morph, je créé avec succès les effets que je visais. Cependant, le script échoue dans Internet Explorer 7 et 8 (fonctionne très bien dans 9, ne pas la peine de vérifier IE6). J'utilise MooTools 1.2.5.

Fouiller le problème, je pouvais comprendre les éléments suivants

  • Tous mes problèmes viennent Fx.Morph, qui appelle setStyle avec des valeurs invalides
  • D'une certaine manière, tandis que la hauteur de morphing d'un élément de 0px à 160px, setStyle est appelée avec une valeur négative (comme -3px) <---- ceci est où IE renvoie une erreur

Pour l'instant, je « patché » l'erreur en procédant comme suit dans la fonction SetStyle du noyau Mootools:

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

Toute personne a un peu plus d'informations sur ce problème ou a connu un problème similaire?

Était-ce utile?

La solution

Il semble que Morph ne se soucie pas si elle est sur le point d'appel setStyle avec combo propriété non valide / valeur et setStyle ne se soucie pas non plus si elle est sur le point de définir une valeur non valide pour une propriété spécifiée.

Dans cet esprit, mon problème est venu de l'effet que j'utilisais. J'utilisais quelque chose comme « Bounce.easeIn » avec un élément qui avait à la hauteur de morphing 0px à 160px. Morph alors appel setStyle avec des valeurs négatives.

Dans mon cas, l'effet de la mise en « linéaire » fait fonctionne comme prévu.

À mon avis, Morph devrait être « conscient » de ce qu'il est sur le point de le faire et éviter d'appeler setStyle avec des valeurs non valides. Element.setStyle devrait également lancer une erreur quand il est appelé à la propriété impossible / valeur au lieu de laisser plantage du navigateur / gérer le problème. Je vais voir si cela a été corrigé en 1.3 et ouvrir un ticket sinon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top