页面加载时显示随机图像,而不使用body标签中的onload

Pea*_*chy 4 javascript random image

我正在尝试创建一个相当简单的JavaScript,每次页面加载时都会从数组中显示一个随机图像.我需要弄清楚如何在不向body标签添加代码的情况下运行此方法.有没有办法在没有放置在body标签中的onload函数的情况下完成此操作?

以下是我依赖于onLoad的内容:

    ImageSwitch=new Array();
    ImageSwitch[0]='1.jpg';
    ImageSwitch[1]='2.jpg';
    ImageSwitch[2]='3.jpg';
    ImageSwitch[3]='4.jpg';

    function swapImage() 
    {
        document.getElementById("theImage").setAttribute("src", ImageSwitch[

Math.round(Math.random()*3)])
    }
Run Code Online (Sandbox Code Playgroud)

完成这个的任何其他想法?

Rob*_*sto 13

Wombleton的答案是我会做的.但是,还有另一种方法可以做到这一点.在正文标记中,无论您要将随机图像放在何处,都可以使用带有图像标记的document.write脚本.确保您有一组图像URL和替换,如下所示:

<html>
<head>
<title>Test</title>
<script type="text/javascript">
  var imageURLs = [
       "http://www.myserver.com/images/image1.png"
     , "http://www.myserver.com/images/image2.png"
     , "http://www.myserver.com/images/image3.png"
  ];
  function getImageTag() {
    var img = '<img src=\"';
    var randomIndex = Math.floor(Math.random() * imageURLs.length);
    img += imageURLs[randomIndex];
    img += '\" alt=\"Some alt text\"/>';
    return img;
  }
</script>
</head>
<body>
<script type="text/javascript">
  document.write(getImageTag());
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

同样,这并不理想,但如果您不想使用任何类型的onload事件,而不仅仅是您放置在<body>标记中的事件,则它非常有用.