1
이미지 요소를 생성하고 저장하여 나중에 즉시 사용할 수있는 간단한 이미지 미리로드를 작성하려고합니다.onLoad는 너비와 높이로 0을 반환합니다.
나는 모든 곳에서 사용할 수있는이 매우 간단한 싱글 톤 클래스 설정을했습니다 :
var Preloader = (function() {
var instance = null;
function PrivateConstructor() {
var total = 0;
var onComplete = null;
this.loadImages = function(images, completeHandler) {
total = images.length;
onComplete = completeHandler;
for(var i = 0; i < images.length; i++) {
var img = new Image();
img.onLoad = this.onLoad(img);
img.src = images[i];
}
}
this.onLoad = function(img) {
console.log(img);
console.log(img.width);
console.log(img.height)
total--;
if(total == 0) onComplete();
}
}
return new function() {
this.getInstance = function() {
if (instance == null) {
instance = new PrivateConstructor();
instance.constructor = null;
}
return instance;
}
}
})()
내가 이것을 사용하고 내 폭과 높이를 확인할 때 지금, 그것은이 0
Preloader.getInstance().loadImages(['https://si0.twimg.com/profile_images/188302352/nasalogo_twitter_bigger.jpg'], function() {
console.log('images loaded');
});
// output
<img src="https://si0.twimg.com/profile_images/188302352/nasalogo_twitter_bigger.jpg">
0
0
덕분에 많이, 꽤이 코드를 찾고 있었어요 더 이상 명백한을 볼 수 없었다. 이제 너비와 높이를 완벽하게 반환합니다! –