简体   繁体   English

通过数组显示图像时遇到问题

[英]Having trouble with displaying an image through an array

I am practicing with JavaScript Array function.我正在练习 JavaScript 数组函数。 What I want to achieve is to show google embedded images inside the display section when the user clicks "Show my grocery list" button after entering "banana", else the texts will be shown instead.我想要实现的是当用户在输入“香蕉”后单击“显示我的购物清单”按钮时,在显示部分中显示谷歌嵌入的图像,否则将显示文本。

These are my codes.这些是我的代码。

 var grocery = document.getElementById("grocery"); let showItems = document.getElementById("showItems"); const display = document.getElementById("display"); var groceryList = []; grocery.addEventListener("keyup",function(ev){ if(ev.keyCode == 13){ groceryList.push(grocery.value); console.log("array",groceryList); } }); showItems.addEventListener("click",function(){ for (var i = 0; i < groceryList.length;i++){ if(groceryList[i] == "banana"){ display.src = "https://i5.walmartimages.ca/images/Enlarge/271/747/6000191271747.jpg"; } else { display.innerHTML += groceryList[i] + "<br/>"; } } });
 #display { width:100px; height:100px; }
 <div id="controls"> <input type="text" placeholder="grocery items" id="grocery"/> <button id="showItems">Show My Grocery List</button> </div> <div id="display"></div>

It is currently not showing anything.它目前没有显示任何内容。 I have a feeling that I have written a wrong syntax inside the loop function?我有一种感觉,我在循环函数中编写了错误的语法? I would appreciate a solution and tips.我将不胜感激解决方案和提示。 Thank you.谢谢你。

You've to remove the keyCode=13 condition first and then need to create an img element with src of image based on condition (groceryList[i] == "banana") to display the image inside the <div> element, For example:您必须首先删除keyCode=13条件,然后需要根据条件(groceryList[i] == "banana")创建一个带有图像srcimg元素以在<div>元素内显示图像,例如:

 var grocery = document.getElementById("grocery"); let showItems = document.getElementById("showItems"); const display = document.getElementById("display"); var groceryList = []; grocery.addEventListener("keyup", function(ev) { //if(ev.keyCode == 13){ groceryList.push(grocery.value); //console.log("array",groceryList); //} }); showItems.addEventListener("click", function() { for (var i = 0; i < groceryList.length; i++) { if (groceryList[i] == "banana") { var source = "https://i5.walmartimages.ca/images/Enlarge/271/747/6000191271747.jpg"; var img = document.createElement("IMG"); //create img element img.src = source; //set img src display.appendChild(img); // display image inside <div> } else { display.innerHTML += groceryList[i] + "<br/>"; } } });
 <div id="controls"> <input type="text" placeholder="grocery items" id="grocery" /> <button id="showItems">Show My Grocery List</button> </div> <div id="display"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM