0

单击链接时,我想更改图像。我有下面的代码。首先单击它正在工作。但在第二次点击中,它不是。
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;
        }

    }
  );

请帮忙!

4

2 回答 2

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");
  });
});    

示范

于 2013-11-01T21:49:43.857 回答
0

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

于 2013-11-01T22:46:44.960 回答