我有一个网络应用程序(ASP.NET2.0 C#)。 在其中,我有一个包含复选框列表和按钮的 div。
我想切换 div 查看,所以我在网上找到了一些 javascript 代码来帮助我。
代码如下:
<script language="javascript">
var state = 'hidden';
function showhide(layer_ref) {
if (state == 'visible')
{
state = 'hidden';
}
else
{
state = 'visible';
}
if (document.all)
{ //IS IE 4 or 5 (or 6 beta)
eval( "document.all." + layer_ref + ".style.visibility = state");
}
if (document.layers)
{ //IS NETSCAPE 4 or below
document.layers[layer_ref].visibility = state;
}
if (document.getElementById && !document.all)
{
maxwell_smart = document.getElementById(layer_ref);
maxwell_smart.style.visibility = state;
}
}
</script>
我这样调用该函数:
<a href="javascript://" onclick="showhide('AlertDiv');">Choose Columns</a>
当我使用此函数时,它会向我显示带有按钮的 div,但不会向我显示复选框列表......对发生的情况有什么想法吗?
谢谢。
最佳答案
您是否尝试过使用显示而不是可见性?
例如,而不是:
document.getElementById(layer_ref).style.visiblity = "hidden";
document.getElementById(layer_ref).style.visiblity = "visible";
用途:
document.getElementById(layer_ref).style.display = "none";
document.getElementById(layer_ref).style.display = "block";
您必须将所有对可见性的引用替换为显示,而不仅仅是 getElementById 版本。您可能还想考虑使用 jQuery它将用几行代码来处理您的场景,并且不需要 onclick 属性来云您的 html。
<script type="text/javascript" src="jquery-1.3.2.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$('.toggleLink').click(function(e) {
e.preventDefault();
$('#AlertDiv').toggle();
});
});
</script>
<a href="#" class="toggleLink">Choose Columns</a>
关于asp.net - 使用复选框列表切换 div 可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/705770/