显示/隐藏div

时间:2009-05-28 11:27:09

标签: c# asp.net html

我在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();”

它正确地隐藏了负载,但我无法再次显示它。有人有解决方案吗?

3 个答案:

答案 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上最有效