2015-02-10 103 views
0

已經搜索了一下,試圖找到答案(以及我是否可以執行此操作)。多次更改onclick()函數(背景圖像更改)

我有一些基於用戶是女性還是男性來改變背景圖像的HTML和JavaScript。

默認情況下,頁面加載的男性背景,並提供)單擊時按鈕它調用bgChangeFemale(:

<img src="BackgroundMale.png" id="backgroundImage" style="position:absolute; z-index:-1;"/> 

<div id="gameContent"> 

    <div class="logo"> 

     <a id="genderButton" class="myButton" onclick="bgChangeFemale()" style="float:left; width:60px; height:10px; padding-top:5px; margin-top:10px; margin-left:0px; padding-left:12px; padding-right:30px;">Female?</a> 

<script>    
function bgChangeFemale() { 
    document.getElementById("backgroundImage").src = "BackgroundFemale.png"; 
    document.getElementById("genderButton").innerHTML = "Male?"; 
    document.getElementById("genderButton").style.width = "40px"; 
    document.getElementById("genderButton").onclick = "bgChangeMale()"; 
} 

function bgChangeMale() { 
    document.getElementById("backgroundImage").src = "BackgroundMale.png"; 
    document.getElementById("genderButton").innerHTML = "Female?"; 
    document.getElementById("genderButton").style.width = "60px"; 
    document.getElementById("genderButton").onclick = "bgChangeFemale()"; 
} 

的第一個按鈕/功能在所有的工作沒有任何問題,並且改變背景圖像到女性版本。但是,當我再次單擊該按鈕將其更改回Male時,沒有任何反應。我做錯了什麼或者不能實現?

感謝您的回答(請放心,請先發帖)!

回答

0

onclick屬性未被更改。要改變使用onclick這個

對於女性

document.getElementById("genderButton").setAttribute('onclick','bgChangeFemale()'); 

對於男性爲

document.getElementById("genderButton").setAttribute('onclick','bgChangeMale()'); 
+0

你的明星,現在的作品一種享受,非常感謝!:) – Luis 2015-02-10 01:19:24

+0

總是樂於提供幫助,請確保您將問題標記爲已回答,以便讓其他人知道是誰在搜索相同的內容,並且其他開發人員/助手知道此問題已得到解答。快樂編碼:) – NewToJS 2015-02-10 01:23:21

+0

啊,你忘了這麼做,再次感謝:) – Luis 2015-02-10 01:30:02