实现网页背景变暗,显示信息提示效果!

来源:互联网 发布:网络大专能考本科么 编辑:程序博客网 时间:2024/05/22 15:39
<script language="javascript">
var alternateFrame=null;
var alternateWin=null;
window.alert
=showAlert;
window.confirm
=showConfirm;
function alternateWindow(){
    
this.win=null;
    
this.pBody=null;
    
this.pBg=null;
    
this.type="open";
    
this.FocusWhere="OK";
}
function showAlert(info){
    alternateWin
=new alternateWindow();
    
var pBody = alternateWin.init();
    alternateWin.initAlertBody(pBody,info);
    alternateWin.type
="alert";
}
function showConfirm(info,ok_func,notok_func,ok_str,not_okstr){
    alternateWin
=new alternateWindow();
    
var pBody = alternateWin.init();
    alternateWin.initConfirmBody(pBody,info,ok_func,notok_func,ok_str,not_okstr);
    alternateWin.type
="confirm";
}
alternateWindow.prototype.init
=function(){
    
if(alternateFrame==null){
        alternateFrame
=document.createElement("<iframe allowTransparency='true' id='popframe' frameborder=0 marginheight=0 src='about:blank' marginwidth=0 hspace=0 vspace=0 scrolling=no></iframe>")
        alternateFrame.style.position
="absolute";
        document.body.appendChild(alternateFrame);
    }
    
else{
        alternateFrame.style.visibility
="visible";
    }
    alternateFrame.style.width
=screen.availWidth;
    alternateFrame.style.height
=screen.availHeight;
    alternateFrame.style.left
=document.body.scrollLeft;
    alternateFrame.style.top
=document.body.scrollTop;
    alternateFrame.name 
= alternateFrame.uniqueID;
    
this.win=window.frames[alternateFrame.name];
    
this.win.document.write("<body leftmargin=0 topmargin=0 oncontextmenu='self.event.returnValue=false'><div id=popbg></div><div id=popbody></div><div></div></body>");
    
this.win.document.body.style.backgroundColor="transparent";
    document.body.style.overflow
="hidden";
    
this.pBody=this.win.document.body.children[1];
    
this.pBg=this.win.document.body.children[0];
    
this.hideAllSelect();
    
this.initBg();
    
return this.pBody;
}
alternateWindow.prototype.initBg
=function(){
    
with(this.pBg.style){
        position
="absolute";
        left
="0";
        top
="0";
        width
="100%";
        height
="100%";
        visibility
="hidden";
        backgroundColor
="#333333";
        filter
="blendTrans(duration=1) alpha(opacity=30)";
    }
    
this.pBg.filters.blendTrans.apply();
    
this.pBg.style.visibility="visible";
    
this.pBg.filters.blendTrans.play();
}
alternateWindow.prototype.initAlertBody
=function(obj,info){
    
with(obj.style){
        position
="absolute";
        width
="400";
        height
="150";
        backgroundColor
="#ffffff";
    }
    obj.style.left
=window.document.body.clientWidth/2-200;
    obj.style.top
=window.document.body.clientHeight/3;
    
var str;
    str 
="<table border=0 cellpadding=0 cellspacing=1 bgcolor=#000000 width=100% height=100%><form id='form1' name='form1'><tr height=30>";
    str
+="<td align=left style='color:#000000;font-size:14px;font-weight:bold' bgcolor=#9999ff>[提示]</td></tr>";
    str
+="<tr><td align=center bgcolor=#efefff style='font-size:12px;color:#000000;vertical-align: middle;'>";
    str
+=info+"<input type=text id=ttt><input type=text id=rrr><input type=text id=uuu><input type='button' onclick='alert(this.name);parent.getall();' value='传递文字'></td></tr><tr height=30 bgcolor=#efefef><td align=center>" +
    
"<input type='button' value='确定' id='OK'" +
    
" onkeydown='parent.alternateWin.onKeyDown(event,this)'"+
    
" onclick='parent.alternateWin.closeWin()' style='border:solid 1px #666666;background:#cccccc'>" +
    
"</td></tr></form></table>";
    obj.innerHTML
=str;
    
this.win.document.body.all.OK.focus();
    
this.FocusWhere="OK";
}
alternateWindow.prototype.onKeyDown
=function(event,obj){
    
switch(event.keyCode){
        
case 9:
        event.keyCode
=-1;
        
if(this.type=="confirm"){
            
if(this.FocusWhere=="OK"){
                
this.win.document.body.all.NO.focus();
                
this.FocusWhere="NO";
            }
            
else{
                
this.win.document.body.all.OK.focus();
                
this.FocusWhere="OK";
            }
        }
        
break;
        
case 13:obj.click();;
        
break;
        
case 27:this.closeWin();
        
break;
    }
}
alternateWindow.prototype.closeWin
=function(){
    alternateFrame.style.visibility
="hidden";
    
this.showAllSelect();
    document.body.style.overflow
="auto";
}
alternateWindow.prototype.hideAllSelect
=function(){
    
var obj;
    obj
=document.getElementsByTagName("SELECT");
    
var i;
    
for(i=0;i<obj.length;i++)
    obj[i].style.visibility
="hidden";
}
alternateWindow.prototype.showAllSelect
=function(){
    
var obj;
    obj
=document.getElementsByTagName("SELECT");
    
var i;
    
for(i=0;i<obj.length;i++)
    obj[i].style.visibility
="visible";
}
function formToRequestString(formname){
    
var query_string='';
    
var form_obj = window.frames[0].document.getElementById(formname).elements;
    
for (var i=0;i<form_obj.length ;i++){
        
var e=form_obj[i];
        
if (e.id!=''){
            
var element_value = "";
            
if (e.type.toLowerCase()=='select'){
                element_value
=e.options[e.selectedIndex].value;
            }
            
else if (e.type.toLowerCase()=='checkbox' || e.type.toLowerCase()=='radio'){
                
if (e.checked==false){
                    
continue;
                }
                element_value
=e.value;
            }
            
else{
                element_value
=e.value;
            }
            query_string
+=e.name+'='+element_value.replace(/&/g,"%26"+ '&';
        }
    }
    
return query_string;
}
</script>
<script>
function getall() {
document.getElementById(
"ssss").value = window.frames[0].document.getElementById("ttt").value;
}
</script>
<input name=ssss type=text>
<div id=naeee>
</div>
<body>
  
<button onclick="alert('');">
    跳出新窗口传值
  
</button>
</body>
 
 
原创粉丝点击