Javascript 设置img元素的.src失败
我有一个6x6 html-Javascript 设置img元素的.src失败,javascript,html,visual-studio-2012,Javascript,Html,Visual Studio 2012,我有一个6x6 html-表格。每个保存,其中每个img-元素的id声明为“1back”到“36back”。此外,我还有名为“1.jpg”到“18.jpg”的18.jpg文件。每个图像必须在网格中出现两次,随机分布 我正努力实现以下目标: function PopulateGrid() { for (var i = 1; i <= 18;i++) //For each image file { var randomnumbe
表格
。每个
保存
,其中每个img
-元素的id
声明为“1back”
到“36back”
。此外,我还有名为“1.jpg”
到“18.jpg”
的18.jpg文件。每个图像必须在网格中出现两次,随机分布
我正努力实现以下目标:
function PopulateGrid() {
for (var i = 1; i <= 18;i++) //For each image file
{
var randomnumber = Math.floor(Math.random() * (36 - 1 + 1)) + 1; // get random # 1-36
while (document.getElementById(randomnumber + "back").src != "")
{
//if the randomly chosen <img> id is not "" genrate another random number
randomnumber = Math.floor(Math.random() * (36 - 1 + 1)) + 1;
}
document.getElementById(randomnumber + "back").src = "Images/" + i + ".jpg";
//Doing this twice as every image has to appear twice
while (document.getElementById(randomnumber + "back").src != "") {
randomnumber = Math.floor(Math.random() * (36 - 1 + 1)) + 1;
}
document.getElementById(randomnumber + "back").src = "Images/" + i + ".jpg";
}
}
函数PopulateGrid(){
对于(var i=1;i请尝试使用console查看您的img的src,当您将src设置为“”时,您很可能会得到您的基本url,因此您的!=“”将永远不会为false。请尝试如下设置您的img:
<img id="1back">
应该一直验证,直到您分配了一个src。while(document.getElementById(randomnumber+“back”).src!=”{…
我在while
循环中没有看到将.src
设置为的任何内容
。您可以尝试另一种方法:创建一个包含36个元素的数组,其中从1到18的每个数字显示两次,[1,1,2,2,…,18,18]
,然后在单个循环中分配图像源。您好,我同意您可以采用另一种方法来实现它。对于这段代码,您可以放置一个控制台。log()语句来记录生成的随机数,并查看随机生成该数是否花费太长时间。