Передача объектов изображения в качестве аргументов функций и классов - PullRequest
0 голосов
/ 02 марта 2019

Как передать изображение в качестве аргумента в функцию / класс или это невозможно, и если это так, как бы я это исправить?Например:

var tree = new Image();
tree.src = "img/statobj/tree.png"
function additem(dimage){
document.getElementById("myitems").rows[0].insertCell(0).innerHTML ='<div id="invetoryitem" >'+ this.dimage + '</div>'
console.log(dimage) //gets undefined
}

Я пробовал dimage.src и другие методы, но ничего, что я использую, похоже, не работает: /

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Передайте его, как и любой другой, но для его отображения используйте appendChild, а не innerHTML:

var tree = new Image();
tree.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg/220px-Ash_Tree_-_geograph.org.uk_-_590710.jpg";
function showTree(dimage) {
  document.getElementById("div").appendChild(dimage);
  console.log(dimage);
}

showTree(tree);
<div id="div"></div>

Если вы хотите использовать innerHTML, создайте <img> с src, равным dimage.src:

var tree = new Image();
tree.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg/220px-Ash_Tree_-_geograph.org.uk_-_590710.jpg";
function showTree(dimage) {
  document.getElementById("div").innerHTML = "<img src='" + dimage.src + "'>";
  console.log(dimage);
}

showTree(tree);
<div id="div"></div>
0 голосов
/ 02 марта 2019

Вы должны назвать функцию и вызвать ее, передав изображение в качестве аргумента.Если вы используете innerHTML, вам нужно создать тег изображения и добавить источник изображения, полученного в функцию, в качестве аргумента

var tree = new Image();
tree.src = "img/statobj/tree.png"
function a(dimage){
document.getElementById("myitems").innerHTML ='<div id="invetoryitem" ><img src="'+dimage.src+ '"></div>'
console.log(dimage) //gets undefined
}
a(tree);
<body id="myitems"></body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...