如何使用javascript显示图像
如何使用javascript在html中显示与用户输入(数字)次数相同的图像?我的代码似乎有错误,不知道如何更正如何使用javascript显示图像,javascript,html,Javascript,Html,如何使用javascript在html中显示与用户输入(数字)次数相同的图像?我的代码似乎有错误,不知道如何更正 单击按钮将新元素添加到数组中 试试看 函数imag(c,x){ var x=document.getElementById(“myNumber”).value; var c=“”; var-arr=[]; 对于(变量i=0;i
单击按钮将新元素添加到数组中
试试看
函数imag(c,x){
var x=document.getElementById(“myNumber”).value;
var c=“”;
var-arr=[];
对于(变量i=0;i
.innerHTML
属性采用字符串。因此,您需要将数组转换为单个字符串,如下所示:
document.getElementById("demo").innerHTML = arr.join("");
请注意,
'C:/Users/Akhil/Desktop/New folder/G.jpg'
通常不是引用图像的有效URL,因此您可能也需要修复此问题。您可以阅读此处了解文件URL的工作原理:
而且,没有理由将两个空变量传递给
imag()
函数。您可以更改此设置:
<button onclick="imag(c,x)">Try it</button>
试试看
为此:
<button onclick="imag()">Try it</button>
试试看
首先,使用c
和x
调用imag
函数,但代码对它们一无所知。这就是为什么会出现打字错误。
您应该为按钮的单击事件创建一个事件处理程序,而不是这个内联处理程序,在这里您可以在x
和c
的值上传递您喜欢的任何内容
检查这个砰的一声
最后,innerHTML属性接受一个字符串(HTML或纯文本)。但在本例中,它将连接所有值,逗号分隔,因为调用了数组的
toString
方法。Reference变量x和c未定义,其中没有任何内容,因此代码中断。这就是参数的工作原理,你给它们一个值,然后把它们传递给函数,这样c变成“hello”,x变成5,:
单击按钮将新元素添加到数组中
试试看
Javascript
function imag(c,x) {
var arr = [];
for (var i = 0; i < x; i++) {
arr.push(c);
document.getElementById("demo").innerHTML = arr;
}
}
函数imag(c,x){
var-arr=[];
对于(变量i=0;i
但这不是很灵活,对吗?因此,您的解决方案已在其他答案中说明。您不会每次单击按钮时传入参数并在函数中生成变量,请使用内联调用停止。它真的过时了,凌乱了,没有必要!了解如何使用EventHandler。尝试以下方法:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to add a new element to the array.</p>
<input type="number" id="myNumber" value="">
<button onclick="imag()">Try it</button>
<p id="demo"></p>
<script>
function imag() {
var x = document.getElementById("myNumber").value;
var c = '\<img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg"\/\>';
var arr = [];
for (var i = 0; i < x; i++) {
arr.push(c);
document.getElementById("demo").innerHTML = arr;
}
}
</script>
</body>
</html>
单击按钮将新元素添加到数组中
试试看
函数imag(){
var x=document.getElementById(“myNumber”).value;
变量c='\';
var-arr=[];
对于(变量i=0;i
请注意,我刚刚将试用
更改为试用
;我在这里切换了撇号:var c=“”代码>
您告诉javascript imag()应该得到两个变量。但是你从来没有给函数实际的变量(你在函数中填充了它们)。所以我从函数的减速中删除了变量
我做的第二件事是更改引号和撇号,因为HTML标准要求标记内容使用引号。在它们之间切换允许您保持HTML标准
希望这有帮助 你犯了什么错误?什么不起作用?@Alex当我在文本框中输入一个数字并点击“尝试”按钮后,没有回应。什么都没有显示。代码正确吗?逻辑上和语法上都很好。成功了。谢谢还有一件事,是否可以在每个图像下方显示一个差异编号。在第一个图像“1”和第二个图像“2”下方?@mohit-是的,这是可能的。您必须创建正确的HTML才能进行显示。如果在自己尝试提出正确的HTML后,您需要帮助,我建议您描述问题以及在新问题中尝试了什么。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to add a new element to the array.</p>
<input type="number" id="myNumber" value="">
<button onclick="imag()">Try it</button>
<p id="demo"></p>
<script>
function imag() {
var x = document.getElementById("myNumber").value;
var c = '\<img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg"\/\>';
var arr = [];
for (var i = 0; i < x; i++) {
arr.push(c);
document.getElementById("demo").innerHTML = arr;
}
}
</script>
</body>
</html>