用jquery更改图像

时间:2013-11-01 21:49:04

标签: javascript jquery

我想在点击链接时更改图片。我有下面的代码。首先点击它正在工作。但在第二次点击中,它不是。
menu_span是“链接ID”
menu_image是“图片ID”

$(function() {  
  $("#menu_span").click( function(){

        if(document.getElementById('menu_image').src ="images/arti.jpg")
        {
            document.getElementById('menu_image').src ="images/eksi.jpg";                   
        }

        else

        if(document.getElementById('menu_image').src ="images/eksi.jpg")
        {
            document.getElementById('menu_image').src ="images/arti.jpg";

        }           
    }
  );
});



它的工作方式如下。但我不想用“i2”

var i2=0;   
  $("#slider_span").click( function(){
      if(i2==0)
        {
            document.getElementById('slider_image').src ="images/eksi.jpg"; 
            document.getElementById('slider_div').style.display="inline-block";
            i2=1;
        }
        else
        if(i2==1)
        {
            document.getElementById('slider_image').src ="images/arti.jpg";
            document.getElementById('slider_div').style.display="none";
            i2=0;
        }

    }
  );

请帮忙!

2 个答案:

答案 0 :(得分:2)

使用==,而不是=来检查相等性:

if (document.getElementById('menu_image').src == "images/arti.jpg") {
    document.getElementById('menu_image').src ="images/eksi.jpg";                   
} else if(document.getElementById('menu_image').src == "images/eksi.jpg") {
    document.getElementById('menu_image').src ="images/arti.jpg";
}

但是不是测试元素的状态,而是最好将它存储在变量中:

$(function() {
  var nbchanges = 0;
  $("#menu_span").click( function(){
      $('#menu_image').prop('src', (nbchanges++)%2 ? "images/arti.jpg" : "images/eksi.jpg");
  });
});    

Demonstration

答案 1 :(得分:0)

您也可以使用===来避免类型转换。