2013-06-24 49 views
-1

新的JavaScript和需要一隻手......點擊changeImage,然後在js中鏈接?

我已經得到了與此點擊改變圖像:

<img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage()"/> 
</p> 
    <script language="javascript"> 
     function changeImage() { 

    if (document.getElementById("imgClickAndChange").src == "brain.gif") 
    { 
     document.getElementById("imgClickAndChange").src = "brain.gif"; 
    } 
    else 
    { 
     document.getElementById("imgClickAndChange").src="brain.gif"; 
    } 
} </script> 

但我想上brain.gif點擊鏈接到div叫#two。我如何使這個新元素成爲一個鏈接?

+4

「鏈接」 到'格#two'怎麼樣?另外你的'if' /'else'是沒有意義的,根本沒有任何效果(它的確如'if(a == b){a = b} else {a = b}')。 – acdcjunior

+0

你的問題不清楚。 '什麼在div #two?屏幕上應該顯示什麼?爲什麼所有的圖片都叫brain.gif?'請重寫問題並清楚說明你需要做什麼。如有可能,請逐步使用。如果說得更清楚,我相信你的問題現在已經解決了。 – gibberish

回答

1

這不完全優雅,但它是你想要的,我相信?我將HTML處理器之外的點擊處理程序移開了,你可以做一些清理工作,比如存儲imgClickAndChange,而不是每次都查看它,但是你明白了!

HTML:

<img alt="" src="header.gif" id="imgClickAndChange" /> 

的JavaScript:

function changeImage() { 

     if (document.getElementById("imgClickAndChange").src == "brain.gif") { 
      document.location.hash = "#something"; // this will jump you down the page to an element with ID of "something" 
     } else { 
      document.getElementById("imgClickAndChange").src = "brain.gif"; 
     } 
    } 

    var img = document.getElementById("imgClickAndChange"); 
    img.onclick = changeImage; 
+0

這是訣竅!謝謝! – user2517571

+0

太好了。一定要做清理工作。用下面的A包裝它也很好,但我並不是瘋狂地聽一個本地點擊,然後在裏面點擊JS。這沒有什麼不妥,但有時候順序很重要,所以我只想把它全部保存在一個事件中。 – oooyaya

1

你必須包裝在錨標記你的形象,這樣你可以設置錨的href。此外,你應該在this傳遞給你的onclick

HTML:

<a href="#test"><img alt="" src="header.gif" id="imgClickAndChange" onclick="changeImage(this)"/></a> 

JS:

function changeImage(obj) { 
    if (obj.src == "brain.gif") 
    { 
     obj.src = "brain.gif"; 
    } 
    else 
    { 
     obj.src="brain.gif"; 
    } 

    //Change the href of the anchor 
    obj.parentNode.href = "#two"; 
    console.log(obj.parentNode.href); 
} 
相關問題