Как получить url всех элементов nodeList ?
Столкнулся с проблемой
Я хочу в зависимости от соотношения сторон изображения получить в кансоле уведомление и делаю это так :
let images = document.querySelectorAll("img");
images.forEach(function(url){
let img = new Image();
img.src = url;
img.onload = e = console.log(url, ar(img));
})
function ar(img){
if(img.width > img.height) {
return"Альбом"
}
if(img.width < img.height) {
return"Портрет"
}
if(img.width == img.height) {
return"Квадрат"
}
}
Разумеется что существует папка img в которой три изображения разных соотношений сторон 1) Вертикальная 2) Альбомная 3) Квадратная В index.html просто написано <img src="img/pic1.png" alt=""> <img src="img/pic2.png" alt=""> <img src="img/pic3.png" alt=""> ![]() Но в кансоль выводит вот это : ![]() Почему такой вывод когда ожидается вывести то что в return и должно выводится url ? |
Строки 3-10 кода, должно быть
images.forEach(function(url){
let img = new Image();
img.src = url.src;
img.onload = function() {
console.log(ar(this))
}
});
PS. А функцию возвращающую отношения сторон можно описать короче, тернарным оператором: return img.width > img.height ? "Альбом" : img.width < img.height ? "Портрет" : "Квадрат" |
Цитата:
|
Цитата:
У меня? Потому, что я его не вывожу, но добавьте коли надо: console.log(this.src, ar(this)) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
maxim1978,
здесь темы не закрывают и не отмечают пост, как решение, достаточно спасибо и сообщения, что такой-то пост помог, и возле ника в этом сообщении есть + для кармы. |
| Часовой пояс GMT +3, время: 03:44. |