http://photo.163.com/shixiaojian089/train/28002 Ceci est un album photo de NetEase. Je veux l'essayer après l'avoir vu.
Dans ma méthode de production, j'ai besoin d'obtenir la largeur de chaque photo, donc j'ai naturellement utilisé la méthode Largeur () de JQ. Il n'y a pas de gros problème à courir sous FF et c'est-à-dire, mais en ce qui concerne Chrome, il y a un problème.
Utilisez une alerte pour dépanner et constaté que les valeurs obtenues par la méthode de largeur dans Chrome sont 0. Dans ce cas, je pense que l'image n'est pas du tout chargée lorsque le script est en cours d'exécution ici. Le problème doit être avec $ (function () {}); Parce que cette méthode nécessite seulement que le DOM soit exécuté après le chargement. Ensuite, changez-le pour exécuter sous onload, et c'est OK. Cependant, ce n'est évidemment pas une bonne solution. Après tout, vous devez attendre que tous les contenus du fichier entier soient chargés avant d'exécuter le script.
Après avoir cherché en ligne, j'ai trouvé que ce gars //www.vevb.com/article/50402.htm a également rencontré le même problème. Il y a une solution sous son commentaire, qui peut être utilisé comme référence:
Utilisez-le où vous souhaitez obtenir la largeur et la hauteur de l'image
La copie de code est la suivante:
$ img.load (function () {
var img_h = $ img.height ();
var img_w = $ img.width ();
}
De cette façon, vous pouvez toujours utiliser $ (function () {}); Appelez la méthode de chargement sur l'objet image où l'image doit être chargée, en évitant d'attendre que le contenu de fichier entier se charge.