我有一组存储在数组中的图像,我通过使用“foreach”循环遍历数组来显示它们。
我如何提取图像并显示它们的PHP 代码:
$imagenes = $cabana->getImagenes();
//Recorremos el foreach del array "$imagenes".
$first = true;
foreach($imagenes as $imagen){
if($first){
echo "<img id='grande' src='imagenes/".$imagen."' width='260' height='260'/> ";
$first = false;
}else{
echo "<img class='peque' src='imagenes/".$imagen."' width='140' height='140'/ onclick='cambiarImagen(this)'> ";
}
}
正如我们所看到的,就其余部分的大小而言,有一个优越的图像。
问题如下:我如何(从客户端,例如javascript)单击较小的图像之一以将其替换为较大的主图像?由于图像位于数组中,我如何知道要单击哪个图像?因为我只有一个 onClick 事件。
这个想法类似于下图:
您可以为每个小图像分配一个函数(使用属性
onclick
),您将向该函数传递关键字this
。保留字this
允许您引用正在与之交互的元素。这样一来,一旦获得了刚刚点击的图片的路径,就可以将其分配给大图。
例子:
应用于您的案例,您只需在 Javascript 中添加该函数,并在
onclick
使用语句打印它们时将属性添加到每个图像echo
。首先你应该改变你的
PHP
,所以它或多或少是这样的请注意,我只在大图像中添加了一个 ID 字段,以便我可以参考
jquery
该图像。对于
JavaScript
,更具体地说jquery
,将执行以下操作唯一要做的
jquery
就是读取单击的图像,将其加载到单击的变量中,然后使用该方法修改scr
大的attr
jquery