2013-11-01 78 views
0

我想單擊鏈接時更改圖片。我有下面的代碼。首先點擊它正在工作。但在第二次點擊中,事實並非如此。
menu_span是 「鏈路ID」
menu_image是 「圖像ID」用jquery更改圖片

$(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

使用==,不=檢查平等:

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

+0

我試過了。但是當我這樣做的時候,這是不行的。 – fatry

+0

你確定src是其中之一嗎? –

+0

是的,他們在同一個文件中。 – fatry

0

您也可以使用===來避免類型轉換。