jQuery verhält sich seltsam nach der Seite aktualisieren (F5) in Chrom
Ich habe ein script, das funktioniert auch in FireFox, IE, aber nicht im Chrome nach der F5-Taste aktualisieren! Es funktioniert in chrome, wenn ich mich konzentrieren die url-Adresse und klicken Sie auf eingeben, aber es funktioniert nicht, wenn ich drücken Sie F5, weiß ich nicht get it at all, wie kann dies eine Auswirkung auf die jQuery-code.
So, hier ist das Skript:
$(document).ready(function() {
var width = 0;
$('#gallery img').each(function() {
width += $(this).outerWidth(true);
});
$('#offer #gallery').css('width', width + 'px');
});
Und das Ergebnis der Breite sollte 820, aber die bekomme ich nur, wenn ich aktualisieren Sie die Website, durch die Konzentration der url-Adresse und drücken Sie die EINGABETASTE, ansonsten gibt es das Ergebnis der 90.
Ich habe versucht Neustart von browser und löschen von cache, also das problem gibt es nicht, irgendwelche Ideen?
InformationsquelleAutor der Frage Mike | 2011-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um dieses problem zu beheben verwenden:
Statt:
InformationsquelleAutor der Antwort matheusvmbruno
Ich würde vermuten, dass dies geschieht, weil die Bilder noch nicht geladen wurden, wenn die ready () - event ausgelöst wird, und 18px ist die Größe der Platzhalter-Symbol für die Bilder. Drücken Sie die F5-Taste bewirkt, dass alle Ressourcen in der Seite neu geladen werden, während der normalen navigation nicht.
Könnten Sie versuchen, anstelle der ready () - Aufruf mit einer load () - Aufruf, oder die Versorgung width-und height-Attribute im img-tags, so dass Ihre Größe bekannt ist, bevor die Bilder geladen sind.
Vom JQuery-API .load():
Und von .bereit():
InformationsquelleAutor der Antwort vehnae
Ich hatte ein ähnliches problem versucht, rufen Sie eine benutzerdefinierte js-Bibliothek. Ich war auch mit einer Kombination von jquery und jquerymobile.
Beide
$(window).load(function() {});
und$(document).ready(function() {});
versagten. Mit:$(document).on("pageinit", function () {});
löste mein Fall.
InformationsquelleAutor der Antwort isgarci