web开发中,在基于服务器推技术时一般会在发生某种事件时产生弹屏,以通知用户发生了某件事。比如是有人上线,有一个电话打进来,接线员客户端就要弹出当前进来用户的信息。下面是一个简单的弹屏代码,并能在滚动屏幕时缩小并放在浏览器的右下角: <html> <head> <title>内容填写</title> <mce:style type="text/css" rel="stylesheet"><!-- #movediv { width:680px; height:488px; position:absolute; line-height:100px; left:100px; top:10px; border:3px solid RGB(105, 105, 105); z-index:1002; display:none; } #show_div_head { background-color:RGB(58, 58, 58); height:35px; cursor:move; margin:1px; margin-top:2px; float:left; width:100%; } #show_div_head table{ width:100%; float:right; } #show_div_head .cursorClass{ /*border:1px solid white;*/ cursor:default; color:white; } .black_overlay { display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color:white; z-index:1001; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80); } --></mce:style><style type="text/css" rel="stylesheet" mce_bogus="1"> #movediv { width:680px; height:488px; position:absolute; line-height:100px; left:100px; top:10px; border:3px solid RGB(105, 105, 105); z-index:1002; display:none; } #show_div_head { background-color:RGB(58, 58, 58); height:35px; cursor:move; margin:1px; margin-top:2px; float:left; width:100%; } #show_div_head table{ width:100%; float:right; } #show_div_head .cursorClass{ /*border:1px solid white;*/ cursor:default; color:white; } .black_overlay { display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color:white; z-index:1001; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80); } </style> <mce:script language="javascript" type="text/javascript"><!-- var _IsMousedown = 0; var _ClickLeft = 0; var _ClickTop = 0; function moveInit(divID,evt) { _IsMousedown = 1; if(getBrowserType() == "NSupport") { return; } var obj = getObjById(divID); if(getBrowserType() == "fox") { _ClickLeft = evt.pageX - parseInt(obj.style.left); _ClickTop = evt.pageY - parseInt(obj.style.top); } else { _ClickLeft = evt.x - parseInt(obj.style.left); _ClickTop = evt.y - parseInt(obj.style.top); } } function Move(divID,evt) { if(_IsMousedown == 0) { return; } var objDiv = getObjById(divID); if(getBrowserType() == "fox") { objDiv.style.left = evt.pageX - _ClickLeft; objDiv.style.top = evt.pageY - _ClickTop; } else { objDiv.style.left = evt.x - _ClickLeft; objDiv.style.top = evt.y - _ClickTop; } } function stopMove() { _IsMousedown = 0; } function getObjById(id) { return document.getElementById(id); } function getBrowserType() { var browser=navigator.appName var b_version=navigator.appVersion var version=parseFloat(b_version) //alert(browser); if ((browser=="Netscape")) { return "fox"; } else if(browser=="Microsoft Internet Explorer") { if(version>=4) { return "ie4+"; } else { return "ie4-"; } } else { return "NSupport"; } } window.onresize = resizeDiv; var flag = true; var styleWidth = 680; var styleHeight = 488; var mousemove ;//用于得到初始化的show_div_head的onmousemove值。 function resizeDiv() { var obj = document.getElementById('movediv'); //最小化 if(flag) { obj.style.width=parseInt(styleWidth)/3; obj.style.height=parseInt(styleHeight)/5; flag = false; } //缩放在屏幕右小角 divHeight = parseInt(obj.offsetHeight,10); divWidth = parseInt(obj.offsetWidth,10); docWidth = document.body.clientWidth; docHeight = document.body.clientHeight; obj.style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10); obj.style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10); //隐藏body部分 document.getElementById("show_div_body").style.display="none"; //锁屏部分的滚动 //document.getElementById('fade').style.top =parseInt(document.body.scrollTop,10); //document.getElementById('fade').style.left = parseInt(document.body.scrollLeft,10); //最小化后不能移动 disabledToMove(); } function clickShow() { var obj = document.getElementById('movediv'); obj.style.display='block'; obj.style.width=styleWidth; obj.style.height=styleHeight; toCentre(obj); //document.getElementById('fade').style.display='block'; //初始化body显示 document.getElementById("show_div_body").style.display="block"; //得到初始化的show_div_head的onmousemove值。 if(document.getElementById("show_div_head").onmousemove!="") { mousemove = document.getElementById("show_div_head").onmousemove; } //初始化能移动 enabledToMove(); //初始化能滚动缩小 flag = true; window.onscroll = resizeDiv; } function clickClose() { document.getElementById('movediv').style.display='none'; //document.getElementById('fade').style.display='none'; flag = true; } function toCentre(obj) { obj.style.left=(document.body.clientWidth-obj.clientWidth)/2+document.body.scrollLeft; obj.style.top=(document.body.clientHeight-obj.clientHeight)/2+document.body.scrollTop; } function toMin() { //与resizeDiv差不多 var obj = document.getElementById('movediv'); if(obj.style.width == styleWidth+"px") { obj.style.width=parseInt(styleWidth)/3; obj.style.height=parseInt(styleHeight)/5; divHeight = parseInt(obj.offsetHeight,10); divWidth = parseInt(obj.offsetWidth,10); docWidth = document.body.clientWidth; docHeight = document.body.clientHeight; obj.style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10) obj.style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10) document.getElementById("show_div_body").style.display="none"; disabledToMove(); }else { obj.style.width=styleWidth; obj.style.height=styleHeight; document.getElementById("show_div_body").style.display="block"; toCentre(obj); flag = true; enabledToMove(); } } function disabledToMove() { var obj = document.getElementById("show_div_head"); obj.onmousemove = ""; } function enabledToMove() { var obj = document.getElementById("show_div_head"); obj.onmousemove = mousemove } // --></mce:script> </head> <body> <input type="button" value="show" onclick="clickShow();"/> <div id="movediv" style="left:20px;top:20px;"> <div id="show_div_head" onmousedown="moveInit('movediv',event);" onmousemove="Move('movediv',event)" onmouseup="stopMove()" onmouseout="stopMove()"> <table> <tr> <td width="90%" style="color:white;" mce_style="color:white;">Edit</td> <td onclick="toMin();" class="cursorClass"> -- </td> <td onclick="clickClose();" class="cursorClass"> X </td> </tr> </table> </div> <div id="show_div_body"> <span>bbbbbbbb</span> </div> <div id="show_div_foot"> <span><hr style="border:1px dotted gray;" mce_style="border:1px dotted gray;"/></span> </div> </div> <!--<div id="fade" class="black_overlay"></div>--> <!-- 为了测试滚动 添加br --> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <br> <br><br><br> <br><br> <input type="button" value="show" onclick="clickShow();"/> </body> </html>