我在vs 2005上使用asp.net ajax控件工具包1.0。我正在使用collapseablePanel和AlwaysVisibleControlExtender控件。当我使用它们时,我注意到我的面板在隐藏之前会闪烁几秒钟。
为了避免这种情况,我决定将它放在div中以使其隐藏。 我想在使用控件时显示它。
这就是我所拥有的:
<div id="menuContent" style="display:none">
<asp:Panel ID="pnlAddNewContent" runat="server" Width="300px">
....//the panel stuff here
</asp>
</div>
并且标题中的javascript为:
function showdiv() {
if (document.getElementbyId) {
document.getElementbyId('menuContent').style.visibility = 'visible';
}
}
(对于IE 6我不关心兼容性)
and body onload = onLoad =“showdiv();”
它正确地隐藏了负载,但我无法再次显示它。有人有解决方案吗?
答案 0 :(得分:6)
您正尝试通过设置可见性来显示它,但是您使用显示屏隐藏它。
你真的想要这样的东西:
document.getElementbyId('menuContent')。style.display ='block';
答案 1 :(得分:1)
也许这就是你要找的东西
Javascript功能:
function showHide(descriptor)
{
var layer = document.getElementById(descriptor);
if (layer != null) {
if (layer.style.display != 'none') {
layer.style.display = 'none'; //hide layer
} else {
layer.style.display = 'block';//show layer
}
}
}
HTML:
<a href="javascript:showHide('divInfo');"><img id="imgInfo" src="info.gif" border="0" /></a>
<div style="display: none;" id="divInfo">some info</div>
答案 2 :(得分:0)
基本上必须使用Visibility隐藏和可见属性,因为这些属性在collapsePanel上最有效