我试图为每张图片制作一个隐藏其他两张图片的按钮 . 例如,如果我单击左侧图像的按钮,左侧图像将显示,它将隐藏中间和右侧图片 . HTML需要保持不变,有什么建议吗?
<div id="works">
<figure data-artist="left">
<img src="david.jpg" alt>
<figcaption>left image</figcaption>
</figure>
<figure data-artist="middle">
<img src="david-plaster.jpg" alt>
<figcaption>middle image</figcaption>
</figure>
<figure data-artist="right">
<img src="florence-cathedral.jpg" alt>
<figcaption>Right image</figcaption>
</figure>
</div>
<div id="controls">
</div>
<script>
var hideShowButton = document.getElementById("hideShowButton");
hideShowButton.onclick = function() {
var allImages = { left: "left", center: "middle", right: "right" };
if(document.getElementById("michelangelo").style.visibility == 'visible') {
for (var image in allImages) {
document.getElementById(allImages[image]).style.visibility = 'hidden';
}
document.getElementById("hideShowButton").innerHTML = "Hide";
}
}
</script>
2 回答
单击div
controls
内的按钮时,执行showImage()
函数 .此函数获取所有图形元素并将显示设置为无 .
然后我们得到触发该函数的元素的属性
data-artist
,与图形相同,并在图形上添加一个显示样式作为块,该元素具有与该元素相同的属性data-artist
.如果有许多按钮(而不是3),方法将与此不同
希望这可以帮助