【问题标题】:How do I add Images to Divs using JavaScript when the src contains variables?当 src 包含变量时,如何使用 JavaScript 将图像添加到 Div?
【发布时间】:2015-09-01 03:26:40
【问题描述】:

我有一个函数应该通过随机生成一个数字来将 10 个随机图像添加到一个 div。这是函数:

function Images()
        {
            clore();
            var total = 133;
            var gif = 3;
            var name = "FileName";
            var i = 0;
            while (i < 10)
            {
                var num = random.nextInt(total - 1 + 1) + 1;
                if(num > (total - gif))
                {
                    var type = ".gif";
                }else{
                    var type = ".jpg";
                }
                var elem = document.createElement("img");
                elem.src = 'images/' + name + '/' + num + type;
                document.getElementById("DIV").appendChild(elem);
                i++;
            }
        }

clore() - 清除 div 的 innerhtml

var total - 文件夹中所有图片的总数

var gif - 文件夹中 .gif 图像的总数

var name - 图片所在文件夹的名称

图片命名为 1 到 133,除了最后三个为 .gif 外,其余均为 .jpg。

这样:1.jpg.....130.jpg 然后 131.gif.....133.gif .

我知道该函数正在运行,因为 clore 函数清除了 div,但之后没有任何反应。

我也知道我没有使用任何保留条款,因为我已经反复更改了所有名称?

【问题讨论】:

  • JavaScript 没有 random.nextInt 方法。也许您将它与 Java 混淆了?
  • 我用过 Math.floor(Math.random() * (total +1));和变化无济于事
  • 如果这不能解决您的问题,那么除了这个功能之外,还有其他东西会破坏程序。您应该检查开发人员控制台是否有错误,并逐步检查您编写的函数,以确保它们接收到预期的输入并生成预期的输出。另一个建议是将容器的 ID 更改为“DIV”以外的其他内容,这不是描述性或澄清性的,大多数开发人员会认为您将 ID 误认为是标签名称。
  • 我已经确保所有的 id 都是正确的并重命名了它们。我创建了一个新的 html 文档,其中只有上面的函数、一个调用它的按钮以及要放置图像的 div,仍然注意到发生了。

标签: javascript html image var


【解决方案1】:

问题是你所在的行:

var num = random.nextInt(total - 1 + 1) + 1;

应该是:

var num = Math.floor(Math.random() * total) + 1;

【讨论】:

    猜你喜欢
    • 2013-03-21
    • 1970-01-01
    • 2015-10-12
    • 2014-10-30
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    相关资源
    最近更新 更多