Ciao a tutti.
Ho un problema con la funzione setStyle di Mootools su IE, quando vengono passati margini negativi viene visualizzato il messaggio di errore "Invalid argument".
Per essere più chiaro, questo è il codice della funzione setStyle di Mootools:
setStyle: function (c, a) {
switch (c) {
case "opacity":
return this.set("opacity", parseFloat(a));
case "float":
c = (Browser.Engine.trident) ? "styleFloat" : "cssFloat"
}
c = c.camelCase();
if ($type(a) != "string") {
var b = (Element.Styles.get(c) || "@").split(" ");
a = $splat(a).map(function (d, e) {
if (!b[e]) {
return ""
}
return ($type(d) == "number") ? b[e].replace("@",
Math.round(d)) : d
}).join(" ")
} else {
if (a == String(Number(a))) {
a = Math.round(a)
}
}
//inizio codice aggiunto da me
var IE = /*@cc_on!@*/false;
if(IE){
if(a.charAt(0) == '-')
a = "auto";
}
//fine codice aggiunto da me
this.style[c] = a;
return this
}
L'errore appare quando vengono passati "width" e "-16px" come parametri alla funzione setStyle. Con il codice che ho aggiunto non compare più l'errore, ma l'allineamento degli elementi non è corretto.
L'errore è sulla riga << this.style[c] = a; >>
Spero possiate aiutarmi. Grazie mille in anticipo!