2012-12-28 61 views
1

我想一個if else語句添加到下面的JavaScript如果別人點擊事件

$('#togglediv4').click(function(e){ 
    e.preventDefault(); 
    $('#link4').attr('src','images/contact_link_clicked.png'); 
}); 

我想要的形象變回原來的,如果有,否則所有的鏈接點擊後沒有點擊事件將仍然停留在新圖像上。

因此,如果沒有點擊圖像,我想顯示原始圖像。

$('#link4').attr('src','images/contact_link_original.png'); 
+0

我失去了你成功了一半......所以頭朝下它正是ü希望??? – geekman

+0

是這個jQuery的?如果是這樣,請將其標記爲 – imulsion

+0

如果您想添加其他內容,請添加它爲什麼要問? – geekman

回答

1

你應該只設置原<img>標籤的src屬性:法師/ contact_link_original.png

然後添加如上的單擊事件。

默認情況下,當你的div未被點擊時,它將包含原始圖像。

編輯:基於您的評論我要做到以下幾點:

  • 添加一個類的所有圖像
  • 當任何圖片被點擊的改變src ATTR回原上的所有圖像與類。 (您可以使用$('.imgClass')
  • 然後更新用新圖像點擊的圖像。
+0

但是一旦點擊了,我希望圖像在其他圖像被點擊後立即回到原來 – user1347219

+0

這個最新想法聽起來正確,我會嘗試去做 – user1347219

+0

這個$('。imgclass')。attr('src' , '圖像/ newhome_link.png');指定類中的所有圖像,我可以在類中分別指定每個圖像src嗎? – user1347219

0

我可能無法正確理解你的問題,但在我看來像你需要使用mousedownmouseup事件,而不是click

$('#togglediv4').mousedown(function(e){ 
    e.preventDefault(); 
    $('#link4').attr('src','images/contact_link_clicked.png'); 
}).mouseup(function(e){ 
    e.preventDefault(); 
    $('#link4').attr('src','images/contact_link_original.png'); 
}); 
+0

不幸的是,這隻有在鼠標左鍵單擊時纔有效,否則它會回到原來的狀態。我想保持圖像變化,直到另一個圖像被點擊 – user1347219

+0

@ user1347219啊,我沒有正確理解你的問題。在這種情況下,我會看[未定義的答案](http://stackoverflow.com/a/14067910/618347)。 – Gareth

2

使用attr回調函數和三元運算符。

$('#togglediv4').click(function(e){ 
    e.preventDefault(); 
    $('#link4').attr('src',function(i, src){ 
      return src === 'images/contact_link_original.png' 
      ? 'images/contact_link_clicked.png' 
      : 'images/contact_link_original.png' 
    }); 
}); 
+0

+1爲回調和三元組 – JohnJohnGa

0

我認爲你正在尋找的東西是這樣的:

$('#togglediv4').click(function(e){ 
    e.preventDefault(); 
    if ($('#link4').attr('src') == 'images/contact_link_original.png') { 
     $('#link4').attr('src','images/contact_link_clicked.png'); 
    }  
}); 
相關問題