Toggle image src attribute using Javascript

user1583775 picture user1583775 · Sep 1, 2012 · Viewed 24k times · Source

I am trying to change the HTML image src using Javascript. I have two images Plus.gif and Minus.gif.I have inserted HTML img tag and have written a Javascript function to change the image src when clicked.

Problem is that I want to change it back again when user clicks on the image. For example when the page is loaded the Plus.gif shows and when user clicks on it the image it changes to Minus.gif.

I want it so, when the image is Minus.gif and user clicks on it this should be changed to Plus.gif.

Here is my Javascript function:

<script language="javascript" type="text/javascript">
  function chngimg() {
    var img = document.getElementById('imgplus').src; //= 'Images/Minus.gif';

    if (img) {
      document.getElementById('imgplus').src = 'Images/Minus.gif';
    } else if (!img) {
      document.getElementById('imgplus').src = 'Images/Plus.gif';
      alert(img);
    }

  }
</script>

Image tag:

<img id="imgplus" alt="" src="Images/Plus.gif" onmouseover="this.style.cursor='pointer'" onclick="chngimg()"   />

Answer

Piyush-Ask Any Difference picture Piyush-Ask Any Difference · Sep 1, 2012

See the changes I made to make it working

<script language="javascript" type="text/javascript">
    function chngimg() {
        var img = document.getElementById('imgplus').src;
        if (img.indexOf('Plus.gif')!=-1) {
            document.getElementById('imgplus').src  = 'Images/Minus.gif';
        }
         else {
           document.getElementById('imgplus').src = 'Images/Plus.gif';
       }

    }
</script>

<img id="imgplus" alt="" src="Images/Plus.gif" onmouseover="this.style.cursor='pointer'" onclick="chngimg()"   />

Hope that resolves your question.