Je veux savoir quand une image a fini de se charger. Existe-t-il un moyen de le faire avec un rappel?
Sinon, y a-t-il un moyen de le faire?
javascript
image
callback
loading
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
la source
la source
Réponses:
.complete
+ rappelIl s'agit d'une méthode conforme aux normes sans dépendances supplémentaires et n'attend pas plus longtemps que nécessaire:
Source: http://www.html5rocks.com/en/tutorials/es6/promises/
la source
img.complete
appel et l'addEventListener
appel?load
écouteur d'événements doit être dans uneelse
clause, comme celaimg.complete
peut devenir vrai avant que l'load
événement ne soit déclenché, donc si ce n'était pas le cas, vous auriez pu potentiellementloaded
appeler deux fois (notez que cela est relativement susceptible de changer de sorte que celaimg.complete
ne devient vrai que lorsque l'événement les feux).Image.onload () fonctionnera souvent.
Pour l'utiliser, vous devez vous assurer de lier le gestionnaire d'événements avant de définir l'attribut src.
Liens connexes:
Exemple d'utilisation:
la source
load
événement n'est pas valide? html.spec.whatwg.org/multipage/webappapis.html#handler-onload est la définition duonload
gestionnaire d'événements.Vous pouvez utiliser la propriété .complete de la classe d'image Javascript.
J'ai une application où je stocke un certain nombre d'objets Image dans un tableau, qui seront ajoutés dynamiquement à l'écran, et au fur et à mesure qu'ils se chargent, j'écris des mises à jour sur un autre div sur la page. Voici un extrait de code:
la source
Vous pouvez utiliser l'événement load () dans jQuery mais il ne se déclenchera pas toujours si l'image est chargée à partir du cache du navigateur. Ce plugin https://github.com/peol/jquery.imgloaded/raw/master/ahpi.imgload.js peut être utilisé pour remédier à ce problème.
la source
La vie est trop courte pour jquery.
la source
src
avec JS.myImage.src = https://pmchollywoodlife.files.wordpress.com/2011/12/justin-bieber-bio-photo1.jpg?w=620
fait l'affaire.Voici l'équivalent de jQuery:
la source
Ne convient pas pour 2008 lorsque la question a été posée, mais ces jours-ci, cela fonctionne bien pour moi:
la source
ces fonctions résoudront le problème, vous devez implémenter la
DrawThumbnails
fonction et avoir une variable globale pour stocker les images. J'adore faire fonctionner cela avec un objet de classe qui aThumbnailImageArray
comme variable membre, mais j'ai du mal!appelé comme dans
addThumbnailImages(10);
la source
addThumbnailImages
fonction. Réduisez-le au code pertinent et je supprimerai le -1.Si l'objectif est de styliser l'image une fois que le navigateur a rendu l'image, vous devez:
parce que le navigateur d'abord
loads the compressed version of image
, puisdecodes it
, enfinpaints
. car il n'y a pas d'événement pourpaint
vous devez exécuter votre logique après que le navigateur aitdecoded
la balise img.la source
Si vous utilisez React.js, vous pouvez le faire:
// ...
// ...}
Où:
la source