2014-04-06 96 views
0

Javascript正被用於製作一個整潔的註銷按鈕。它幾乎完美的工作,除了我不知道如何將一行添加到'跨度',所以它也編輯圖像,因爲代碼使用自變量。我怎樣才能讓圖像在連接到鏈接跨度的腳本中使用,以便不管我是懸停在鏈接還是圖像上,圖像都會更改。我嘗試過使用一些解決方案,但是沒有一個以我想要的方式工作或根本沒有工作。 JQuery對於解決方案也很好。就Javascript/JQuery而言,我非常無知,因爲到目前爲止,我的大部分代碼都是PHP/CSS。Javascript圖片更改

<a href="#logout"> 
<span>Logout</span> 
<img src="images/logout.png" 
    onmouseover="this.src='images/logout_hover.png'" 
    onmouseout="this.src='images/logout.png'" /> 
</a> 
+0

難道你不會添加一個類到錨標記(通過php生成),反映用戶是否登錄或不?另外,爲什麼使用onmouseover和onmouseout?我幾年沒見過這種用法。 – 2pha

+0

另外。如果使用上面提到的方式,則可以將圖像作爲背景圖像放置在錨點上,而根本不需要圖像標記。 – 2pha

回答

3

由於事件傳播,這應該工作:

<a id="login_link" href="#logout" onmouseover="document.getElementById('login_image').src='images/logout_hover.png'" onmouseout="document.getElementById('login_image').src='images/logout.png'"> 
    <span>Logout</span> 
    <img src="images/logout.png" id="login_image" /> 
</a> 

但提到2pha,使用簡單的CSS是好了很多:

#login_link span#logo_image { 
    display: inline-block; 
    width: 100px; 
    height: 30px; 
    background: transparent url(images/logout.png) top left no-repeat; 
} 
#login_link:hover span#logo_image { 
    background-image: url(images/logout_hover.png); 
} 

或者更好的是,合併2個圖像並將新圖像用作精靈,因此它們將一起預加載:

#login_link span#logo_image { 
    display: inline-block; 
    width: 100px; 
    height: 30px; 
    background: transparent url(images/logout.png) top left no-repeat; 
} 
#login_link:hover span#logo_image { 
    background-position: bottom left; 
} 
+0

有時我會做出愚蠢的問題。當我最初製作註銷按鈕時,我是一個傻瓜,對任何事情都不瞭解。我應該知道使用CSS,但有時候我不會做出最明智的選擇 – Darkaaja

+0

沒關係,我們都在這裏學習! – casraf