0

编辑:我听从了 Happy 和 Bart Friederichs 的建议,这真的很有帮助。我没有使用 php,而是使用 javascript,代码现在可以工作,但我仍然有问题。当我单击页面上的按钮时,它会显示我想要的图片,但按钮会消失,所以我无法循环查看数组中的其余图片。怎么了?任何帮助,将不胜感激。

<html>
<head>
<script type="text/javascript"> 
var picArray=["images.jpg","customLogo.gif.png"];
var count=0;

function changePic(){
    document.write("<img src='"+ picArray[count] +"' />");
    count++;
}
</script>
</head>

<body>
    <button type="button" onclick="changePic()">Click Me!</button>
</body>
</html>
4

2 回答 2

0

您需要使用 ajax 来处理 onClick 事件,这反过来会在后台运行一个 PHP 页面,该页面可能会返回一个 filenmae。

然后 ajax / jQuery 会改变实际的图片

这是一个使用 php 覆盖 ajax 的教程: http ://www.tizag.com/ajaxTutorial/ajaxxmlhttprequest.php

或者,您可以将所有文件名输出到 java 脚本数组:

echo '<script> var picarray = array() ;';
foreach($arrayPic as $pic) ...

然后只需使用 js 访问它

于 2013-01-03T21:46:01.863 回答
0

您的 changePic() 函数是一个 PHP 函数,但是当您调用 onclick="changePic()" 时,您正在使用 HTML 来调用 Javascript 函数。如果您在浏览器中查看调试窗口,您会看到一条错误消息,指出 changePic 不存在。

您不能使用 html 的 onClick 来调用 PHP,而不需要重定向或调用 JS 中的“包装器”函数,该函数通过 AJAX 等加载带有参数的 PHP 文件。

您在这里有几个选项.. 将您的图像放入 Javascript 数组并使用 onclick 调用从中获取它们,如果您这样做,您甚至不需要您的 iframe,您可以使用直接将图像打印到页面文件。写。或者,为什么不使用数组索引的参数将 iframe 的源设置为 PHP 脚本。所以你在哪里

src=$picArray[count]

改成

src=whatever.php?image=1

例如。这种方式只需要呈现 iframe 一次,而不是像您试图知道的那样在每次点击时呈现,您只需更改 iframe 内容。

有很多方法可以做你正在尝试的事情,如果上述任何一个建议对你有用,请告诉我。

于 2013-01-03T21:53:44.670 回答