【发布时间】:2020-06-07 12:01:54
【问题描述】:
我主要使用 PHP/HTML/CSS 和一些 JavaScript。 我有一个 foreach 循环,它将显示网格中的项目列表。左边会显示一个产品,右边我希望能够点击一张图片,点击后会变成另一张图片。
我成功了,但是因为我在 foreach 循环中有“风味”,尽管列出的每个项目都是新的,但图像仍然共享相同的代码,因此,当我在风味 3 中单击它时。 .. 它只会改变第 1 项中的图像。
如何做到这一点,以便在单击任何“风格”的图像时,它会更改我单击的特定图像?
这是我的 PHP
<?php
$FLAVOUR = $_GET['flavour'];
$stmt = $conn->prepare("SELECT * FROM node WHERE node.flavour = :flavour");
$stmt->bindValue(':flavour',$FLAVOUR);
$stmt->execute();
$flavours = $stmt->fetchALL();
echo "<div class='grid-container'>";
echo "<div class='item1'>Header</div>";
echo "</div>";
if($flavours){
foreach ($flavours as $flavour) {
echo "<div class='grid-container'>";
echo "<div class='item2'><img src='{$flavour['image']}'></div>";
echo "<div class='item3'>{$flavour['flavour']}</div>";
echo "<div class='item4'>{$flavour['area']}, <button class='btn' text='button'></button></div>";
echo "<div class='item5'><img alt='' src='https://cdn.iconscout.com/icon/premium/png-256-thumb/hello-1901501-1610146.png'
style='height: 85px; width: 198px' id='imgClickAndChange' onclick='changeImage()' /></div>";
echo "<div class='item6'></div>";
echo "</div>";
}
else
{
echo "<p>Can't find any destination records.</p>";
}
?>
这是我在 JavaScript 中的图像转换器
function changeImage() {
if (document.getElementById("imgClickAndChange").src == "https://cdn.iconscout.com/icon/premium/png-256-thumb/hello-1901501-1610146.png")
{
document.getElementById("imgClickAndChange").src = "https://cdn.iconscout.com/icon/premium/png-256-thumb/bye-556031.png";
}
else
{
document.getElementById("imgClickAndChange").src = "https://cdn.iconscout.com/icon/premium/png-256-thumb/hello-1901501-1610146.png";
}
}
</script>
【问题讨论】:
标签: javascript php css foreach onclick