页面灰框模式精彩实现

    点击页面按钮后,弹出对话框,原页面变为灰色不可编辑模式,实现原理:JS+CSS+DIV,DIV的位置可以设置为最上层,然后用CSS对该DIV的样式进行控制,最后JS代码可以控制DIV的显示时机,这样的组合就可以实现页面灰框模式。那么灰框会的弹出对话框显示的内容,比如像一个新页面的形式显示具体的数据,实际并不是一个新的页面,仅仅只是在本页面已经布局好的内容显示框,JS代码在控制显示时,改变该DIV的style.display属性便可控制其是否显示,那么这些对话框的数据是在触发此事件前已经绑定好,该事件的触发仅仅只是让其显示。因为客户端事件通常都会比服务器端的事件先执行,所以,如果在触发该事件的同时再去绑定数据,那么页面上将不会显示数据,所以在选择该数据时,通常有一个二级选择来达到这个目的,具体可以参考一下火狐应用中心的账族免费记账里面的应用,它采用的编辑方式是一个二级编辑方式。

 
瞅瞅代码:
 
<head>----------javascript
 <%--javascript控制两层显示与否--%>
//javascript控制两层显示与否
<script type="text/javascript">
function ShowNo() {
    document.getElementById("doing").style.display = "none";
    document.getElementById("divLogin").style.display = "none";
}
function $(id) {
    return (document.getElementById) ? document.getElementById(id) : document.all[id];
}
function showFloat() {
    var range = getRange();
    $('doing').style.width = range.width + "px";
    $('doing').style.height = range.height + "px";
    $('doing').style.display = "block";
    document.getElementById("divLogin").style.display = "";
}
function getRange() {
    var top = document.body.scrollTop;
    var left = document.body.scrollLeft;
    var height = document.body.clientHeight;
    var width = document.body.clientWidth;
 
    if (top == 0 && left == 0 && height == 0 && width == 0) {
        top = document.documentElement.scrollTop;
        left = document.documentElement.scrollLeft;
        height = document.documentElement.clientHeight;
        width = document.documentElement.clientWidth;
    }
    return { top: top, left: left, height: height, width };
</script> 
 
==============CSS
<style type="text/css">
        body
        {
            margin: 0px;
        }
 </style>
</head>
 
 
<body>
 
   ===============DIV 
 <!--加一个半透明层-->
    <div id="doing" style="filter: alpha(opacity=30); -moz-opacity: 0.3; opacity: 0.3;
        background-color: #000; 100%; height: 100%; z-index: 1000; position: absolute;
        left: 0; top: 0; display: none; overflow: hidden;">
    </div>
    <!--加一个登录层-->
    <div id="divLogin" style="border: solid 10px #898989; background: #fff; padding: 10px;
        780px; z-index: 1001; position: absolute; display: none; top: 50%; left: 50%;
        margin: -200px 0 0 -400px;">
        <div style="padding: 3px 15px 3px 15px; text-align: left; vertical-align: middle;">
            <br />
            <br />
            <br />
            <div>
                <span class="style16">学号:</span>
                <asp:Label ID="TxtUserID" runat="server" Text="Label"></asp:Label>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="style16">姓名:</span>
                <asp:Label ID="TxtUserName" runat="server" Text="Label"></asp:Label>
            </div>
            <br />
            <div>
                <span class="style16">密码:</span>
                <asp:TextBox ID="TxtUserPwd" runat="server" CssClass="input"> </asp:TextBox>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="style16">考试剩余时间:</span>
                <asp:Label ID="TextBoxRemainTime" runat="server" Text="Label"></asp:Label>
            </div>
            <br />
            <div>
                <span class="style16">试卷提交状态:</span>
                <asp:DropDownList ID="DropDownListState" runat="server" CssClass="input">
                    <asp:ListItem Value="0">未提交</asp:ListItem>
                    <asp:ListItem Value="1">已提交</asp:ListItem>
                </asp:DropDownList>
                &nbsp;&nbsp;&nbsp; <span class="style16">是否要换机考试:</span>
                <asp:DropDownList ID="DropDownListChangeSeat" runat="server" CssClass="input">
                    <asp:ListItem Value="0" Selected="True">否</asp:ListItem>
                    <asp:ListItem Value="1">是</asp:ListItem>
                </asp:DropDownList>
            </div>
            <br />
            <div align="center">
                <asp:Button ID="btnConfirm" runat="server" Text=" 确 定 " OnClick="btnConfirm_Click"
                    CssClass="cmdField" />
                &nbsp;&nbsp;&nbsp;
                <input id="BttCancel" type="button" value=" 取 消 " onclick="ShowNo()" class="cmdField" />
            </div>
        </div>
        <br />
    </div>
</body>
原文地址:https://www.cnblogs.com/xiaopanlyu/p/2568842.html