在html img src代码中调用javascript函数(随机img生成器)

时间:2018-05-15 22:33:09

标签: javascript html css image src

请不要downvote,我实际上用Google搜索并搜索所有旧堆栈溢出帖子。我一直在尝试一种方法,你使用带有空src =“”地址的html标签:

<img id = "imageid" src="">

然后是相应的Javascript代码:

  function randomImg(){
var randomNumber = Math.floor(Math.random() * 12) + 1;
var imgName = "img_" + randomNumber + ".jpg";
document.getElementById("imageid").src= YOUR_IMG_PATH + "/" + imgName ;
}

因此,我有12张图片,全部通过img_12.jpg命名为img_1.jpg,是的,我检查了他们的导演,并通过我的网站上的这个功能加载它们,奇怪的是,只有通过使用此代码的按钮。我有成功只是通过标准的html img标记来加载图片:

<button type="button" onclick="randomImg()">Try it</button>

我见过其他推荐使用document.onload = function()的旧帖子,但这对我不起作用(我还发现了一个帖子,其中Stackoverflow用户声明document.onload将为空src =“”标签生成img src地址。我总是尝试以不同的方式格式化,即对代码的某些部分使用''而不是“”。

我最后的努力将是使用一个数组,但我想看看我是否有可能以现在的方式解决这个问题,因为我觉得我错过了一些完全基本和明显的东西。提前谢谢。

如果有帮助,网站为http://aemaeth0.github.io

1 个答案:

答案 0 :(得分:0)

好的,谢谢你们,我使用了@Chris G提供的代码更改。基本上是他通过&#34; id&#34;通过该函数并使用window.onload。这是确切的代码:

<img id="img1" src="">
    <script>
    function randomImg(id) {
    var randomNumber = Math.floor(Math.random() * 12) + 1;
    var imgName = "img_" + randomNumber + ".jpg";
    document.getElementById(id).src= imgName;
    }
    window.onload = function() {
  randomImg("img1");
    }
    </script>

我已经用Java,C ++和MATLAB编写了代码,并且已经在Uni进行了数据结构/面向对象编程,但还没有完成很多Javascript和小语法原则(例如&#34; id&#34;在传递id作为函数中的参数时)把我扔了。

我希望这可以帮助任何尝试通过网站随机生成图片的人,特别是如果他们不想使用数组。

再次感谢所有帮助过的人!