gpt4 book ai didi

javascript - 从二维数组中获取img src和img维度并显示在body中

转载 作者:行者123 更新时间:2023-12-03 06:59:33 26 4
gpt4 key购买 nike

我正在尝试获取图像源并从二维数组中设置尺寸

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 又是什么?这些值仍然是未定义。在开始将它们用作数组之前,您需要将它们本身设置为新数组。您的开发工具会立即告诉您这是一个问题。

并且您分配的值在许多情况下不是有效的 JS,例如 [width="200",height="200"]。这根本就不是 JS。

如果您尝试创建具有宽度/高度属性的对象,则为 {width:"200", height:"200"},如果您尝试创建数组(您将来的用法表明)那么它将是 ["200", "200"],因为数组元素没有这种方式的属性名称,它们从 0 开始索引。所以第一个第一个是 [0],第二个是 [1]

最重要的是,您的 j 变量没有任何用途,也没有增加它的意义。不需要其他递增变量。

并且您也在函数开始时递增,因此您的第一个图像将是数组的第二个 ([1]) 索引。尝试从 -1 开始 i ,以便 0 成为递增后的第一个结果。

工作中的 JSFiddle 在这里:https://jsfiddle.net/c0psj611/

更好的方法(使用对象来存储关联数据)在这里:https://jsfiddle.net/2s5x7nL5/

关于javascript - 从二维数组中获取img src和img维度并显示在body中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com