使用php变量进行图像定位,使用onclick运行图像库

时间:2014-06-21 11:03:16

标签: javascript php image

我正在制作一个返回多个图像的简单数据库查询。这些图像存储在php变量中,javascript库一次显示一个图像,并使用onclick函数运行图像。它不起作用,请帮助!

我的数据库查询返回图像,每个图像都放入一个变量中。变量然后放入一个数组(因为我认为它应该更容易通过数组运行)

    $img1       = $row['img1'];
$img2       = $row['img2'];
$img3       = $row['img3'];

$images = array($img1,$img2,$img3);
页面上的

画廊部分显示第一张图片

<div id="showImage">
<img src= " <?php echo "$images[0]" ?>" id="gallery">
<div id="rightHolder"><img onClick="Gallery(1)" src="images/arrow-right.png"></div>
<div id="leftHolder"><img onClick="Gallery(-1)" src="images/arrow-left.png"></div>
</div>

但javascript不会为$ images onclick的数组键设置日期,因此我的第二张图片未加载。

var imageCount = 1;
var totalImage = 3;

function Gallery(x) {
var image = document.getElementById('gallery');
imageCount  = imageCount + x;
if(imageCount > totalImage){imageCount = 1;}
if(imageCount < 1){imageCount = totalImage;}
image.src = "<?php echo $images["+ imageCount +"]?>";
}

1 个答案:

答案 0 :(得分:0)

你不能这样做:image.src = "<?php echo $images["+ imageCount +"]?>";

JS在浏览器中运行。 JS没有PHP数据。

您可以在JS文件中尝试这样的事情:

var images = "<?php echo implode(",", $images); ?>";
images = images.split(",");

通过这张Js你可以通过以下方式调用图像:

image.src = images[imageCount];

它的作用是它需要你的PHP数组,使它成为一个由逗号分隔的字符串。该字符串在逗号上拆分,在Js中将是一个数组。