【发布时间】:2011-12-04 07:58:35
【问题描述】:
I'm trying to make radiobuttons with a javascript function that gets called when a button is selected to make an image appear depending on what they click.但是,在查找了一段时间后,我什么都没有,因为有些人告诉我做 document.formName.name.value;有些人告诉我在我的按钮上使用 id,然后使用 document.getElementByID(""); 等。
这是一个项目,我们还没有使用参数,我也不知道如何在 HTML 中实现它们
这是我的代码:
<html>
<head>
<style type="text/css">
img{height:200px;}
body{background-image:url('wood.jpg');}
span.a1{margin-left:150px; display:inline-block;}
h2, span, h4, div{font-family:helvetica; color:white;}
h2 {text-align:center; margin-top:150px;}
img.display{position:absolute; left:400px; height:300px; }
</style>
<script type="text/javascript">
dex1=0;
stam1=0;
str1=0;
intel1=0;
agil1=0;
function counter()
{
document.getElementById("dex").innerHTML = dex1;
document.getElementById("stam").innerHTML = stam1;
document.getElementById("str").innerHTML = str1;
document.getElementById("intel").innerHTML = intel1;
document.getElementById("agil").innerHTML = agil1;
}
function classChoice()
{
if(document.getElementById('mage').checked)
{
classtype = "<img class='display' src='mage.jpg'>";
document.getElementById("mage").innerHTML=classtype;
}
else if(document.getElementById('paladin').checked)
{
classtype = "<img class='display' src='paladin.jpg'>";
document.getElementById("Paladin").innerHTML=classtype;
}
else if(document.getElementById('hunter').checked)
{
classtype = "<img class='display' src='hunter.jpg'>";
document.getElementById("hunter").innerHTML=classtype;
}
else if(document.getElementById('rogue').checked)
{
classtype = "<img class='display' src='rogue.jpg'>";
document.getElementById("rogue").innerHTML=classtype;
}
}
</script>
</head>
<body>
<h2> Awesome MMO </h2>
<span class="a1">
<h4> Dexterity </h4>
<span onmousedown="dex1++; counter();">
+
</span>
<span id="dex">
0
</span>
<span onmousedown="dex1--; counter();">
-
</span>
</span>
<span class="a1">
<h4> Stamina </h4>
<span onmousedown="stam1++; counter();">
+
</span>
<span id="stam">
0
</span>
<span onmousedown="stam1--; counter();">
-
</span>
</span>
<span class="a1">
<h4> Strength </h4>
<span onmousedown="str1++; counter();">
+
</span>
<span id="str">
0
</span>
<span onmousedown="str1--; counter();">
-
</span>
</span>
<span class="a1">
<h4> Intellect </h4>
<span onmousedown="intel1++; counter();">
+
</span>
<span id="intel">
0
</span>
<span onmousedown="intel1--; counter();">
-
</span>
</span>
<span class="a1">
<h4> Agility </h4>
<span onmousedown="agil1++; counter();">
+
</span>
<span id="agil">
0
</span>
<span onmousedown="agil1--; counter();">
-
</span>
</span>
<h2> Class </h2>
<span class="a1">
<br />
<form name="class">
<input type="radio" name = "classes" id="mage" onmousedown="classChoice();"> <img src = "mage.jpg" />
<input type="radio" name = "classes" id = "Paladin" onmousedown="classChoice();"> <img src = "Paladin.png" />
<input type="radio" name = "classes" id = "hunter" onmousedown="classChoice();"> <img src = "hunter.PNG" />
<input type="radio" name = "classes" id = "rogue" onmousedown="classChoice();"> <img src = "rogue.jpg" />
</form>
</span>
<span id="picture">
</span>
</body>
【问题讨论】:
-
不要使用
==真的,它几乎总是多余的。 -
不知道如何使用 jfiddle,因为我的图像很难指向路径
-
@minitech 在 Javascript 中,您可能想要检查对象是否实际上是布尔值
true,而不是不同的“真实”值。 (当然你需要三个等号:if (something === true)。) -
@Inerdial:没错。
== true几乎总是多余的。 -
虽然有时您可能想检查一个变量是否真的是布尔值 true 而不仅仅是“真实”,但大多数时候您会看到带有
something==true或something===true类型的代码“某事”没有问题,例如element.checked===true。我曾经和一个总是写element.checked==false的人一起工作,尽管团队中的其他人都会说!element.checked。
标签: javascript button radio-button