从二维数组中获取img src和img维度,并在body中显示
Get img src and img dimensions from two dimensional array and display in body
我正试图从二维阵列中获取图像源并设置尺寸
var ImgArray=new Array(2)
ImgArray[0][0] = ["http://imgsrc.jpg"]
ImgArray[0][1] = [width="200",height="200"]
ImgArray[1][0] = ["http://imgsrc.jpg"]
ImgArray[1][1] = [width="200",height="200"]
,将源的尺寸更改为新尺寸(200x200)
var i=0;
var j=0;
function NextImg(){
++i;
++j;
document.getElementById('imageset').width = ImgArray[i][j]
document.getElementById('imageset').height = ImgArray[i][j]
document.getElementById('imageset').src = ImgArray[i][j]
}
并在此处显示结果
<img id="imageset" />
<button type="button" onclick="NextImg()">Next image</button>
您需要打开开发工具(在大多数浏览器中为F12)并查看即将出现的错误。一旦这样做,很明显,大块的代码甚至都不是有效的javascript,许多其他部分也存在大问题。
例如,开始为ImgArray[0][0]
分配值。。。但甚至还没有一个ImgArray[0]
可以为其分配[0]
。你可能有一个长度为2的数组……但长度为2什么?这些值仍然是undefined
。在开始将它们用作数组之前,您需要将它们本身设置为新的数组。您的开发工具会立即告诉您这是一个问题。
在许多情况下,您分配的值都不是有效的JS,例如[width="200",height="200"]
。这根本不是JS。
如果你试图制作一个具有width/height属性的Object,那么它将是{width:"200", height:"200"}
,如果你试图创建一个Array(你未来的用法建议),那么它应该是["200", "200"]
,因为Array元素没有这样的属性名称,它们是从0索引的。所以第一个是[0]
,第二个是[1]
。
除此之外,您的j
变量没有任何用途,也没有对其进行增量。不需要其他增量变量。
在函数开始时,您也在递增,所以您的第一个图像将是数组的第二个([1]
)索引。尝试在-1处启动i
,以便0成为递增后的第一个结果。
一个正在工作的JSFiddle在这里:https://jsfiddle.net/c0psj611/
这里有一种更好的方法(使用对象来存储相关数据):https://jsfiddle.net/2s5x7nL5/
您同时递增i和j,因此只能访问:
ImgArray[0][0] and ImgArray[1][1]
另外,你没有得到这个声明的宽度和高度
document.getElementById('imageset').width = ImgArray[i][j]
document.getElementById('imageset').height = ImgArray[i][j]
考虑到这一点,你应该做一些类似的事情
var ImgArray = [["http://imgsrc.jpg", 200, 200],["http://imgsrc.jpg", 200, 200]];
然后你的功能会是:
var i=0;
function NextImg(){
++i; //or i++;
document.getElementById('imageset').width = ImgArray[i][0];
document.getElementById('imageset').height = ImgArray[i][1];
document.getElementById('imageset').src = ImgArray[i][2];
}
你可以保持你的显示器像:
<img id="imageset" />
<button type="button" onclick="NextImg()">Next image</button>
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 使用jQuery动态添加表并在其中动态添加行
- 遍历类元素数组,并在jquery中选择同级元素
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 从二维数组中获取img src和img维度,并在body中显示
- 如果img src以http://img.youtube.com/vi/并在任何字符后替换为youtube视频ifram
- 如何读取存储在图像的数据src中的URL,并在另一个img控制器的src中设置该URL onclick
- 在选择IMG SRC并在文本字段中显示时出现问题
- 如何观看 img 元素的 ngSrc 并在自定义指令中获取新的宽度和高度
- 在dom就绪时,从<img>'s,并在src属性中设置它们
- 当我将图像上传到firebase存储并检索下载url并在img标记中显示时,但它显示多次
- 是否有一种方法,目标所有的img标签与0x0大小,并在jQuery中删除它们
- 检查JSON中的img标签,并在JavaScript中更改src
- Jquery 1.8.3, elFinder -点击图像并在文本区插入img标签
- 制作<img>元素在悬停时显示,并在单击时保持,该元素对应于被单击按钮的相同ID
- Javascript-从不同的位置提取img src,并在另一个位置使用img src