IE Invalid Argument Fehler - Sagen es ist ein Fehler in jQuery, aber ich glaube nicht
-
19-09-2019 - |
Frage
Ich zog mir die Haare aus über ein ungültiges Argument Fehler in IE7, vielleicht alle IE ...
Die Seite ist: http://www.karencaldwelldesign.com/fashion
IE sagt, es ist ein Fehler in Zeile 12, aber wenn ich Script Debugger öffnen, es sagt, das Problem mit einigen Code in jQuery ist. Ich glaube nicht, dass gekauft werden kann.
Also, ich sah mein Skript ( http : //www.caldwellsnyder.com/__data/assets/js_file/0003/5943/kc-gallery.js ) und Linie 65 scheint das Problem zu sein:
data = '<div id="content'+id+'" class="content">'+data+'</div>';
Daten aus den jQuery $ Schnipseln () zurück Funktion, aber ich brauchte es mit einem zusätzlichen nummerierten div zu wickeln.
Insbesondere ist es der ID-Variable, die die ungültigen Argument Fehler verursacht wird, aber ich habe keine Ahnung, warum! Die var ist nur eine Zahl, die erhöht wird. Das Entfernen der var aus dieser Zeile lässt die Seite zu laden perfekt, aber ich brauche wirklich die ID auf diese Weise zu erhöhen.
Hat jemand eine Idee, warum diese einfache Variable ungültig Argument in IE verursachen würde?
Lösung
Irgendwie sind beenden Sie es auf, eine Breite von -5px
zu setzen; IE mag das nicht. Dieser Wert kommt aus der Leitung $this.css(cssToApply);
in JScrollPane.js, die sie von der Berechnung der variablen realPaneWidth
erhält:
var realPaneWidth = paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p;
In diesem, paneWidth
und settings.scrollbarWidth
beide gleich 676, und settings.scrollbarMargin 5, geben Sie -5 (p Null).
In kc-gallery.js
erscheinen Sie JScrollPane mit dem Wert von 676 für scrollbarWidth
in der Funktion applyScroll
zu initialisieren. Dies wird von der setInterval-Funktion aufgerufen zu der Variablen check_images
zugewiesen, und das bringt uns den ganzen Weg zurück bis der Call-Stack von dem Ort, an dem IE tatsächlich Fehler auf Einstellung width
-5px
.
Es ist also auf jeden Fall etwas mit der Art und Weise zu tun, sind Sie JScrollPane verwenden. Sie können die Dokumentation für alle Tipps überprüfen wollen - ich habe noch nie verwendet, das mich Plugin, also bin ich Angst, dass ich nicht helfen kann. Allerdings scheint ein scrollbarWidth
Wert von 676 ein wenig übertrieben ... nach dem JScrollPane docs :
scrollbarWidth [int] - die Breite der erstellten scrollbar in Pixeln (Standard: 10)
Andere Tipps
Der Fehler kommt von jQuery sehen, wenn Sie versuchen, ein DOM-Attribut auf einen Wert einzustellen, der ungültig ist. Zum Beispiel versuchen, einen Z-Index auf NaN oder eine Zeichenfolge zu setzen. IE-Fehler auf das, wo Firefox und andere Browser nur den Wert ignorieren.
Sie können ein Beispiel dafür sehen, indem Sie die folgende Zeile in die Konsole auf dieser Seite in IE8 fallen zu lassen oder mit Jash für frühere Versionen: jQuery("#header").css("z-index", NaN);
Es sieht aus wie Ihre Variablen glob_index wird an einem gewissen Punkt nicht definiert immer, also Fehler jQuery, wenn der z-Index eines DOM-Knoten auf diese zu setzen versuchen.