如何使用javascript显示图像
How to display image using javascript
如何使用javascript在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(c,x)">Try it</button>
<p id="demo"></p>
<script>
function imag(c,x) {
var x = document.getElementById("myNumber").value;
var c="<img src='C:/Users/Akhil/Desktop/New folder/G.jpg'/>";
var arr = [];
for (var i = 0; i < x; i++) {
arr.push(c);
document.getElementById("demo").innerHTML = arr;
}
}
</script>
</body>
</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>
注意,我刚刚将<button onclick="imag(c,x)">Try it</button>
更改为<button onclick="imag()">Try it</button>
;我把你的撇号换成了var c="<img src='C:/Users/Akhil/Desktop/New folder/G.jpg'/>";
您告诉javascript,imag()应该得到两个变量。但您从未给函数实际的变量(而是在函数中填充它们)。所以我去掉了函数减速的变量。
我做的第二件事是更改引号和撇号,因为HTML标准要求标记内容使用引号。在它们之间切换可以保持HTML标准。
.innerHTML
属性采用字符串。因此,您需要将数组转换为一个字符串,如下所示:
document.getElementById("demo").innerHTML = arr.join("");
请注意,'C:/Users/Akhil/Desktop/New folder/G.jpg'
通常不是引用图像的有效URL,因此您可能也需要解决此问题。您可以阅读此处查看文件URL的工作方式:http://en.wikipedia.org/wiki/File_URI_scheme
并且,没有理由将两个空变量传递给imag()
函数。您可以更改此项:
<button onclick="imag(c,x)">Try it</button>
到此:
<button onclick="imag()">Try it</button>
首先,使用c
和x
调用imag
函数,但代码对它们一无所知。这就是为什么你会得到一个TypeError。您应该为按钮的点击事件创建一个事件处理程序,而不是这个内联处理程序,在这里您可以以x
和c
的值传递任何您喜欢的内容。
在这里检查这个按钮
最后,innerHTML属性接受一个字符串(HTML或纯文本)。但在这种情况下,它将连接所有值,逗号分隔,因为调用了数组的toString
方法。此处参考
您的变量x和c是未定义的,其中没有任何内容,因此您的代码会中断。参数就是这样工作的,你给它们一个值,然后把它们传递给函数,所以c变成了"hello",x变成了5,fiddle:
<p>Click the button to add a new element to the array.</p>
<input type="number" id="myNumber" value="">
<button onclick="imag('hello',5)">Try it</button>
<p id="demo"></p>
Javascript
function imag(c,x) {
var arr = [];
for (var i = 0; i < x; i++) {
arr.push(c);
document.getElementById("demo").innerHTML = arr;
}
}
但这不是很灵活,对吧?所以你的解决方案已经在其他答案中说明了。您不会在每次单击按钮时传入参数并在函数中生成变量,请停止使用内联调用。它真的很过时,很乱,也没必要!了解如何使用事件处理程序。
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- 无法在本地计算机中将画布另存为图像
- 压缩phonegap中ios的图像插件
- 如何在鼠标悬停时在另一个图像上滑动图像.