使用 onclick() 更改图像

IT技术 javascript html css
2021-01-22 09:52:02

当我单击对象时,我想将图像更改为其他图像。代码按以下顺序堆叠:

<li><img><some text></img></li>
<li><img><some text></img></li>
<li><img><some text></img></li>
<li><img><some text></img></li>
<li><img><some text></img></li>

我想要做的是,当我点击<li>我想将图像更改为图像的彩色版本时,即一些其他图像。现在,我知道我可以使用 JQuery/JS 来完成它。但是我不想要大量的 JS 代码来完成这么简单的事情。

可以使用更简单的东西来完成吗?像伪选择器?.activeclass?

我似乎想不出来。

6个回答

要使用 javascript 更改图像 onclik,您需要拥有带有 id 的图像:

<p>
        <img alt="" src="http://www.userinterfaceicons.com/80x80/minimize.png" 
            style="height: 85px; width: 198px" id="imgClickAndChange" onclick="changeImage()"  />
</p>

然后您可以在单击图像时调用 javascript 函数:

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

        if (document.getElementById("imgClickAndChange").src == "http://www.userinterfaceicons.com/80x80/minimize.png") 
        {
            document.getElementById("imgClickAndChange").src = "http://www.userinterfaceicons.com/80x80/maximize.png";
        }
        else 
        {
            document.getElementById("imgClickAndChange").src = "http://www.userinterfaceicons.com/80x80/minimize.png";
        }
    }
</script>

如果当前 img.src 设置为 minimum.png,此代码将设置 image 为 maximum.png,反之亦然。有关更多详细信息,请访问: 使用 javascript 链接更改图像 onclick

或者也许这就是概率

<img src="path" onclick="this.src='path'">

这个怎么样?它不需要那么多编码。

$(".plus").click(function(){
 $(this).toggleClass("minus")  ; 
})
.plus{
    background-image: url("https://cdn0.iconfinder.com/data/icons/ie_Bright/128/plus_add_blue.png");
    width:130px;
    height:130px;
    background-repeat:no-repeat;
}

.plus.minus{
    background-image: url("https://cdn0.iconfinder.com/data/icons/ie_Bright/128/plus_add_minus.png");
    width:130px;
    height:130px;
    background-repeat:no-repeat;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#"><div class="plus">CHANGE</div></a>

如果您的图像已命名,您可以通过 DOM 引用它们并更改源。

document["imgName"].src="../newImgSrc.jpg";

或者

document.getElementById("imgName").src="../newImgSrc.jpg";

您最多可以做的是在悬停 LI 时触发背景图像更改。如果您希望在单击 LI 时发生某些事情,然后保持这种状态,那么您需要使用一些 JS。

我会命名以 bw_ 和 clr_ 开头的图像,然后使用 JS 在它们之间交换。

例子:

$("#images").find('img').bind("click", function() {
  var src = $(this).attr("src"), 
      state = (src.indexOf("bw_") === 0) ? 'bw' : 'clr';

  (state === 'bw') ? src = src.replace('bw_','clr_') : src = src.replace('clr_','bw_');  

  $(this).attr("src", src);

});

小提琴链接:http : //jsfiddle.net/felcom/J2ucD/

如果我必须使用 JS,你能帮我用一些简单的 JS 吗?
2021-03-25 09:52:02