javascript - HTML 如何更改单击时的图像

标签 javascript html image

我试图让图像在单击时发生变化:单击图像 1 时,更改为图像 2,单击图像 2 时更改为图像 3,单击图像 3 时更改为图像 1。

<p>
    <img alt="" src="assets/img1.png" 
        style="height: 85px; width: 198px" id="imgClickAndChange" onclick="changeImage()"   />

<script language="javascript">
function changeImage() {

    if (document.getElementById("imgClickAndChange").src == "assets/img1.png") 
    {
        document.getElementById("imgClickAndChange").src = "assets/img2.png";

    }
    else if (document.getElementById("imgClickAndChange").src == "assets/img2.png")
    {
        document.getElementById("imgClickAndChange").src = "assets/img3.png";

    }
    else if(document.getElementById("imgClickAndChange").src == "assets/img3.png"){
    document.getElementById("imgClickAndChange").src = "assets/img1.png"

    }

最佳答案

我认为干净且最佳的解决方案。正如之前网友所说。最好使用数组来保存图像路径。

var images = ["https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&h=350", "https://i2.wp.com/beebom.com/wp-content/uploads/2016/01/Reverse-Image-Search-Engines-Apps-And-Its-Uses-2016.jpg?resize=640%2C426", "https://images.pexels.com/photos/248797/pexels-photo-248797.jpeg?auto=compress&cs=tinysrgb&h=350"]

var imgState = 0;

var imgTag = document.getElementById("imgClickAndChange");

imgTag.addEventListener("click", function (event) {
  imgState = (++imgState % images.length);
  event.target.src = images[imgState];
});

Solution

关于javascript - HTML 如何更改单击时的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52561727/

相关文章:

Java 位图 RLE8 格式

php - 将用户从文件输入中选择的文件路径存储为 session 变量,以便稍后重新填充该字段

javascript - 我们可以让 IE7 将 FILE TYPE=INPUT 元素视为单个控件吗?

html - 如何在 div 表中创建列线

javascript - 适合在 localStorage (HTML5) 中保存文件的数据结构?

image - 哪里可以找到车牌图片库?

java - 从网站拍摄照片并将其加载到 JavaFX 中

javascript - 转义 ' 和 & 以及 url 中的类似字符

javascript - 如何在 AngularJS 中创建完整的 html 表?

html - 为什么 span 超出底部对齐,我该如何操作它