多次更改onclick()函数(背景图像更改)

时间:2015-02-10 00:42:45

标签: javascript html css function 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时,没有任何反应。我做错了什么还是不能实现?

感谢您的回答(请轻松,首先发布)!

1 个答案:

答案 0 :(得分:0)

onclick属性未被更改。要更改onclick,请使用此

女性

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

男性 -

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