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>标记中的事件,则它非常有用.