所以,我有,我想在页面上随机生成了几张照片。 使用用于随机数生成的预制功能9 .PNG林 - 图片被命名为0。 我的问题是,当我尝试在该函数调用后下跌的一页,它不将图像。 似乎没有。
我知道这是简单的但是我打我的头放在我的桌子在这里。 我想知道什么是我的功能搞砸?
function showimg()
{
/*
The showimg() function displays a random image from the 0.png through 9.png
files.
*/
var imgNumber = randomInteger(9);
return imgNumber;
/* Return a random number from 0 to 9 */
document.write("<img src='imgNumber.png' alt='' />");
}
还有你是如何处理这个问题的几个问题。
首先,这是不好的做法在现代JavaScript开发使用document.write
。 你应该使用像appendChild
代替。
其次,您引用imgNumber
中的字符串。 这将只使用“imgNumber”在那里,而不是内容imgNumber
变量。 为此,字符串连接是可以插入的一种方式:
"<img src='" + imgNumber + ".png'>"
下面是如何将接近你的问题吧。 首先,将一个空元素的页面,您将追加你的图片上:
<div id="random-images-here"></div>
然后,某处元素之后,你可以有以下的Javascript,这与你相似:
<script>
// create a random integer from 0 to maxInt
var randomInteger = function(maxInt) {
return Math.floor(Math.random() * (maxInt + 1));
};
// append a random image to el
var showImg = function(el) {
var imgNumber = randomInteger(9),
img = document.createElement('img');
img.src = imgNumber + ".png";
img.alt = "Image #" + imgNumber;
el.appendChild(img);
};
// grab the element to append images to
var imgHolder = document.getElementById('random-images-here');
// place 4 images in the image holder
for (var i = 0; i < 4; i++) {
showImg(imgHolder);
}
</script>
这里有一个演示
(注:我在演示改变了代码稍微使用的场地,我发现用数字图像。)
你需要说document.write("<img src='" + imgNumber + ".png' alt='' />");
。 尽管imgNumber是一个整数,JavaScript的会自动将其转换为字符串。
另外,你需要把document.write
的调用之前return
语句。
不过,跟其他的人都这么说, document.write
可能不是东西添加到您的网页的最佳方式。 我会建议得到JQuery的或什么的,并使用你的DOM操作。
你编写JavaScript,所以你需要,如果你尝试在PHP编辑的图像源,将工作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example</title>
<script>
var imgNumber = Math.floor((Math.random()*9)+1);
document.getElementById("example").src= imgNumber + '.png';
</script>
</head>
<body>
<img id='example' src="" alt="">
</body>
</html>
文章来源: Store a generated random number in a variable, then call that variable as a filename to bring up an image. Javascript