Мне нужно, чтобы ширина и высота изображения с экрана:. Никто и я не получаю и ширину и высоту 0. вот мой код:JavaScript Image() ширина возвращает 0
for (i = 0; i <= slideCount; ++i) {
imgPath = slideshow.eq(i).attr("src");
imgEle = new Image();
imgEle.src = imgPath;
imgEle.addEventListener("load", function() {
imgSize = [imgEle.width, imgEle.height];
if ((imgSize[0]/imgSize[1]) > (boxSize[0]/boxSize[1])) {
slideshow.eq(i).css("height", "100%");
}
else {
slideshow.eq(i).css("width", "100%");
}
});
}
Я попытался onload = funcion() {}
а также не проверять, загружен ли образ, но тем не менее я получаю ширину и высоту как 0. Более того, когда я запускал консоль в Chrome и ссылался на те поля, у меня были правильные значения.
Вы должны добавить его в DOM, прежде чем размеры будут доступны. –
'display: none' удаляет элемент из потока DOM, поэтому он не имеет размеров. Вы должны добавить его к элементу, который не отображает ни одного (обычно видимость: скрытый), а затем читать измерения. Это не просто решить. –