如何在回发后保持DIV可见

How to keep DIV visible after postback

本文关键字:DIV 可见      更新时间:2023-09-26

我似乎无法让div在帖子返回后保持可见。能见度部分有什么问题吗?

function toggleOverlay(){
        var overlay = document.getElementById('overlay');
        var specialBox = document.getElementById('specialBox');
        overlay.style.opacity = .8;
        if(overlay.style.display == "block"){
            overlay.style.display = "none";
            specialBox.style.display = "none";
        } else {
            overlay.style.display = "block";
            specialBox.style.display = "block";
        }
    }
    </script>
    </head>
    <body>
    <!-- Start Overlay -->
    <div id="overlay"></div>
    <!-- End Overlay -->
    <!-- Start Special Centered Box -->
    <div id="specialBox"  runat="server">
    <script type="text/javascript"> if(Page.IsPostBack)
                {
                     specialBox.Style["visibility"] = "visible";
                }</script>

您需要在服务器端代码中设置与客户端代码中相同的属性。

 <script runat="server"> 
    if(Page.IsPostBack)
    {
        specialBox.Style["display"] = "block";
    }
</script>

在CSS中有两种隐藏/显示元素的方法:

display:none或block/inline/inline-block=>隐藏元素并删除它占用的空间visibility:隐藏/可见=>隐藏元素并使占用的空间为空白

如果其中任何一个被设置为隐藏值,则元素将不可见

除此之外,您的脚本标记还显示"text/javascript",您确实希望在其中执行服务器端代码,因此我添加了一个runat="server"-属性