Heim  >  Artikel  >  Web-Frontend  >  Lösung für den Wert der jq width()-Methode von 0 unter chrome_jquery

Lösung für den Wert der jq width()-Methode von 0 unter chrome_jquery

WBOY
WBOYOriginal
2016-05-16 16:46:591288Durchsuche

http://photo.163.com/shixiaojian089/train/28002 Dies ist ein Fotoalbum von NetEase. Nachdem ich es gesehen hatte, wollte ich es ausprobieren.

Bei meiner Produktionsmethode muss ich die Breite jedes Fotos ermitteln, daher ist es selbstverständlich, die width()-Methode von jq zu verwenden. Bei der Ausführung unter FF und IE gibt es keine großen Probleme, bei der Ausführung unter Chrome treten jedoch Probleme auf.

Verwenden Sie die Warnung zur Fehlerbehebung und stellen Sie fest, dass die von der Breitenmethode unter Chrome erhaltenen Werte alle 0 sind. In diesem Fall scheint das Bild überhaupt nicht geladen zu sein, wenn das Skript hier ausgeführt wird. Das Problem sollte bei $(function(){}); liegen, da diese Methode nur das Laden des Doms erfordert, bevor sie ausgeführt werden kann. Dann ändern Sie es so, dass es unter Onload ausgeführt wird, und tatsächlich funktioniert es jetzt. Dies ist jedoch offensichtlich keine gute Idee. Schließlich muss beim Ausführen unter Onload gewartet werden, bis der gesamte Inhalt der gesamten Datei geladen ist, bevor das Skript ausgeführt wird.

Nachdem ich online gesucht habe, habe ich gefunden, dass dieser Typ http://www.jb51.net/article/50402.htm ebenfalls auf das gleiche Problem gestoßen ist. Unter seinem Kommentar befindet sich eine Meldung mit Lösungen , siehe:

Verwenden Sie


$img.load(function(){
var img_h = $img.height();
var img_w = ​​​​$img .width();
}

Auf diese Weise können Sie weiterhin die Lademethode für das Bildobjekt aufrufen, an dem sich das Bild befinden muss geladen werden, sodass nicht darauf gewartet werden muss, dass der gesamte Dateiinhalt geladen ist.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn