1

我是一个 PHP 菜鸟,试图用一个随机图像按钮制作一个随机图片生成器。当我单击按钮时,我希望出现一个新图像。怎么这只能工作一次。我应该改变什么才能让它多次工作?

代码:

<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script> 

function changeImage()
{
var img = document.getElementById("image");
img.src="/cats/<?php echo rand (1,92);?>.jpg";
return false;
}

</script>

</head>

<body>

<img id="image" src="/cats/<?php echo rand (1,92);?>.jpg" width="500" height="500" />
<br><br><br>
<button id="clickme" onclick="changeImage();">Click to change image!</button>
</body>

提前致谢!

4

3 回答 3

1

PHP 是一种服务器端语言。这与客户端的 javascript 不同。PHP 代码在用户第一次访问页面时执行,用于生成页面内容。浏览器会看到这个内容,但它永远不会看到实际的 php 代码。另一方面,Javascript 被发送到浏览器,浏览器在用户打开页面时动态使用它。例如,以下行:

<img id="image" src="/cats/<?php echo rand (1,92);?>.jpg" width="500" height="500" />

将被传输到浏览器,例如:

<img id="image" src="/cats/37.jpg" width="500" height="500" />

然后就变成了浏览器看到的所有内容。在用户刷新页面之前,每次运行 javascript 函数时,37.jpg都会显示图像。

于 2013-06-26T20:00:26.573 回答
1

调整您的 JavaScript 代码:

function changeImage()
{
    var random = Math.round(1+Math.random()*92); // random between 1 and 92
    var img = document.getElementById("image");
    img.src = "/cats/" + random + ".jpg";
    return false;
}
于 2013-06-26T19:57:41.630 回答
0

PHP 代码仅在页面加载时运行一次。

使用 javascript 随机数生成器

于 2013-06-26T19:57:57.297 回答