How to toggle two images onClick

血红的双手。 提交于 2020-08-08 05:01:05

问题


I'm making a collapsible treeView. I made it all, I just need my + and - icons to toggle whenever they are clicked.

I did the part when I change an icon from + to -, on click, with jQuery with the following code:

$(this).attr('src','../images/expand.gif');

Problem is, I don't know how to make it go other way around, when i click on the node again :)


回答1:


This should work:

<style>
.expand{
    content:url("http://site.com/expand.gif");
}
.collapse{
    content:url("http://site.com/collapse.gif");
}
</style>

<img class="expand">
<script>
//onclick code
$('img.expand').toggleClass('collapse');
</script>



回答2:


Look for jquery function toggleClass :)

http://jsfiddle.net/Ceptu/

Html:

<div id="box">

    Hello :D

</div>

Jquery:

$("#box").click(function () {
    $(this).toggleClass("red");
});

Css:

#box {
    width: 200px;
    height: 200px;
    background-color: blue;
}

.red {
   background-color: red !important;
}

Remember that !important is realy important!!!

Lots of ways to do this :D




回答3:


I wanted to do this without making classes. Inside your click event function, you could do something like this:

if($(this).attr('src') == '../images/collapse.gif')
   $(this).attr('src', '../images/expand.gif');
else
   $(this).attr('src', '../images/collapse.gif');



回答4:


add plus as a default img src then define a minus-class to change the image source to minus image

$("selector_for_your_link").click(function () {
      $(this).toggleClass("minus-class");
    });


来源:https://stackoverflow.com/questions/15368733/how-to-toggle-two-images-onclick

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!