类似新浪邮箱中的提示窗口,半透明背景,禁止其它操作非Alert

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY background-color=#ff0000>
<form action="#">
<input name=btn1 type=button value=有自定义按钮 onclick=showalert1();>
<input name=btn2 type=button value=无自定义按钮 onclick=showalert2();>
</form>
<script language="javascript">
<!--
    function gourl(e){
        switch(e){
            case 1:
                window.alert("点击了确定按钮.");
                break;
            case 2:
                break;
            case 3:
                window.alert("点击了其它按钮.");
                break;
            default:
                break;
        }
    }

    function showalert1(){
        var Br = new innerMessageBox();
        Br.ShowModal("示例", "您确定要删除该项吗?", 320, 120, "gourl($)", "重试");
    }

    function showalert2(){
        var Br = new innerMessageBox();
        Br.ShowModal("示例", "您确定要删除该项吗?", 320, 120, "gourl($)");
    }
//-->
</script>
<script>
<!--
    function innerMessageBox(){
        var BackObject, FormObject;

        //    检查页面中是否存在该控件.
        function checkIMBObject(){
            if (document.getElementById("imb_Background")==null){
                document.body.innerHTML += "<iframe id=\"imb_Background\" src=\"about:blank\" style=\"position:absolute;left:0;top:0;width:0px;height:0px;visibility:hidden;\" frameborder=\"0\"></iframe>";
                window.imb_Background.document.open();
                window.imb_Background.document.write("<html><body bgcolor=red>&nbsp;sdfasdfasdf</body></html>");
                window.imb_Background.document.close();
            }
            if (document.getElementById("imb_FormModal")==null){
                document.body.innerHTML += "<iframe id=\"imb_FormModal\" src=\"about:blank\" style=\"position:absolute;left:0;top:0;width:0px;height:0px;visibility:hidden;border-bottom:3px solid #999999;border-right:3px solid #999999;border-top:1px solid #F8F6C1;border-left:1px solid #F8F6C1;\" frameborder=\"0\"></iframe>";
                window.imb_FormModal.document.open();
                window.imb_FormModal.document.write("<html><head><style><!--");
                window.imb_FormModal.document.write("td{font-size:12px;");
                window.imb_FormModal.document.write("//--></style></head><body scroll=no leftmargin=0 topmargin=0>");
                window.imb_FormModal.document.write("<table width=100% height=100% bgcolor=\"#F6F8DF\"><tr><td  align=left bgcolor=#EDE808><div id=\"imb_Title\" style=\"padding-left:3px;padding-right:3px;\">");
                window.imb_FormModal.document.write("</div></td></tr><tr><td align=left><div id=\"imb_Content\" style=\"padding:7px;\">");
                window.imb_FormModal.document.write("</div></td></tr><tr><td id=\"imb_Body\" align=center>");
                window.imb_FormModal.document.write("</td></tr></table>");
                window.imb_FormModal.document.write("</body></html>");
                window.imb_FormModal.document.close();
            }
        }

        //    显示对话框控件.
        this.ShowModal = function(iCaption, iMessage, iWidth, iHeight, iClickFunc, iOther){
            var smWidth = 420, smHeight = 180, smCaption = "默认对话框", smMessage="您确定执行这项操作吗?", smFunc, smObject, smAlpha, smInterval;
            if (arguments.length > 4 ){
                smWidth = iWidth;
                smHeight = iHeight;
                smCaption = iCaption;
                smMessage = iMessage;
                smFunc = iClickFunc;
            }
            //    背景的渐显.
            function checkIMBAlpha(){
                smObject.style.filter = "alpha(opacity="+smAlpha+");";
                smAlpha += 10;
                if (smAlpha>80){
                    clearInterval(smInterval);
                }
            }
            checkIMBObject();
            this.BackObject = document.getElementById("imb_Background");
            this.FormObject = document.getElementById("imb_FormModal");
            smObject = this.BackObject;
            smAlpha = 0;
            this.BackObject.style.left = 0;
            this.BackObject.style.top = 0;
            this.BackObject.style.width = document.body.scrollWidth;
            this.BackObject.style.height = document.body.scrollHeight;
            this.BackObject.style.visibility = "visible";
            smInterval = window.setInterval(checkIMBAlpha, 5);

            this.FormObject.style.left = document.body.clientWidth/2 - smWidth/2;
            this.FormObject.style.top = document.body.clientHeight/2 - smHeight/2;
            this.FormObject.style.width = smWidth;
            this.FormObject.style.height = smHeight;
            this.FormObject.style.visibility = "visible";
            window.imb_FormModal.document.getElementById("imb_Title").innerHTML = "<b>" + smCaption + "</b>" + " -- 操作提示";
            window.imb_FormModal.document.getElementById("imb_Content").innerHTML = smMessage;
            if (iOther==null || iOther==""){
                window.imb_FormModal.document.getElementById("imb_Body").innerHTML = "<input type=hidden id=imb_Other name=imb_Other shortKey=\"O\"> &nbsp; <input type=submit id=imb_Ok name=imb_Ok value=\"确定\" shortKey=\"T\"> &nbsp; <input type=button id=imb_Cancel name=imb_Cancel value=\"取消\" shortKey=\"C\">";
            }else{
                window.imb_FormModal.document.getElementById("imb_Body").innerHTML = "<input type=button id=imb_Other name=imb_Other value="+iOther+" shortKey=\"O\"> &nbsp; <input type=submit id=imb_Ok name=imb_Ok value=\"确定\" shortKey=\"T\"> &nbsp; <input type=button id=imb_Cancel name=imb_Cancel value=\"取消\" shortKey=\"C\">";
            }
            document.body.disabled = true;
            window.imb_FormModal.document.getElementById("imb_Ok").onclick= function(){
                parent.document.body.disabled = false;
                if (smFunc!=null && smFunc!=""){
                    eval("parent." + smFunc.replace("$","1"));
                }
                parent.document.getElementById("imb_Background").style.visibility = "hidden";
                parent.document.getElementById("imb_FormModal").style.visibility = "hidden";
            }
            window.imb_FormModal.document.getElementById("imb_Cancel").onclick= function(){
                if (smFunc!=null && smFunc!=""){
                    eval("parent." + smFunc.replace("$","2"));
                }
                parent.document.body.disabled = false;
                parent.document.getElementById("imb_Background").style.visibility = "hidden";
                parent.document.getElementById("imb_FormModal").style.visibility = "hidden";
            }
            window.imb_FormModal.document.getElementById("imb_Other").onclick= function(){
                if (smFunc!=null && smFunc!=""){
                    eval("parent." + smFunc.replace("$","3"));
                }
                parent.document.body.disabled = false;
                parent.document.getElementById("imb_Background").style.visibility = "hidden";
                parent.document.getElementById("imb_FormModal").style.visibility = "hidden";
            }
        }
    }
//-->
</script>
</BODY>
</HTML>
posted @ 2006-11-03 16:39  MaxIE  阅读(408)  评论(0编辑  收藏  举报