木子屋 Dnawo's BLOG

一次精简JS代码过程

👤 dnawo 📅 2008-04-10 👁 4910 👍 0 💬 2 🔄 本站原创
实现功能:页面上用三个按钮分别控制三个div的显示/隐藏。

思路一:分别写三个函数来实现。
HTML
<script language="javascript">
function ShowDivA()
{
	document.getElementById("DivA").style.display = "block";
	document.getElementById("DivB").style.display = "none";
	document.getElementById("DivC").style.display = "none";
}
function ShowDivB()
{
	document.getElementById("DivA").style.display = "none";
	document.getElementById("DivB").style.display = "block";
	document.getElementById("DivC").style.display = "none";
}
function ShowDivC()
{
	document.getElementById("DivA").style.display = "none";
	document.getElementById("DivB").style.display = "none";
	document.getElementById("DivC").style.display = "block";
}
</script>
<div id="DivA" style="display:none;">DivA</div>
<div id="DivB" style="display:none;">DivB</div>
<div id="DivC" style="display:none;">DivC</div>
<input type="button" onclick="ShowDivA();" value="显示A" />
<input type="button" onclick="ShowDivB();" value="显示B" />
<input type="button" onclick="ShowDivC();" value="显示C" />

思路二:整合成一个函数来实现。
HTML
<script language="javascript">
function ShowDiv(str)
{
	if(str=="DivA")
	{
		document.getElementById("DivA").style.display = "block";
		document.getElementById("DivB").style.display = "none";
		document.getElementById("DivC").style.display = "none";
	}
	else if(str=="DivB")
	{
		document.getElementById("DivA").style.display = "none";
		document.getElementById("DivB").style.display = "block";
		document.getElementById("DivC").style.display = "none";
	}
	else if(str=="DivC")
	{
		document.getElementById("DivA").style.display = "none";
		document.getElementById("DivB").style.display = "none";
		document.getElementById("DivC").style.display = "block";
	}
}
</script>
<div id="DivA" style="display:none;">DivA</div>
<div id="DivB" style="display:none;">DivB</div>
<div id="DivC" style="display:none;">DivC</div>
<input type="button" onclick="ShowDiv('DivA');" value="显示A" />
<input type="button" onclick="ShowDiv('DivB');" value="显示B" />
<input type="button" onclick="ShowDiv('DivC');" value="显示C" />

思路三:再精简。
HTML
<script language="javascript">
function ShowDiv(obj)
{
	document.getElementById("DivA").style.display = "none";
	document.getElementById("DivB").style.display = "none";
	document.getElementById("DivC").style.display = "none";
	obj.style.display = "block";
}
</script>
<div id="DivA" style="display:none;">DivA</div>
<div id="DivB" style="display:none;">DivB</div>
<div id="DivC" style="display:none;">DivC</div>
<input type="button" onclick="ShowDiv(DivA);" value="显示A" />
<input type="button" onclick="ShowDiv(DivB);" value="显示B" />
<input type="button" onclick="ShowDiv(DivC);" value="显示C" />

评论(2)

xuguofei 2008-06-10 17:48
好像还可以写成这样:(呵呵~别笑哦~)🙂

<script language="javascript">
function ShowDiv(obj)
{
document.getElementById("DivABC").innerHTML = obj.innerHTML;
}
</script>

然后加多一个这样的层<div id="DivABC"></div>
dnawo 2008-06-10 20:47
能实现功能就好🙂
计算题
评论需审核通过后显示
← 上一篇 Dvbbs 8.2.0修改:管理员放权,楼主可管理跟贴 下一篇 → C#获取存储过程的Return返回值和Output输出参数值