JS关闭窗口时产生的事件及用法示例
作者:xiangqian0505
这篇文章主要介绍了JS关闭窗口时产生的事件及用法,结合关闭窗口时提交评论的实例分析了javascript事件触发机制及遮罩层实现技巧,需要的朋友可以参考下
本文实例讲述了JS关闭窗口时产生的事件及用法。分享给大家供大家参考,具体如下:
/************ 关闭窗口,提交评价 **************/ window.onbeforeunload = function(){ var pageWidth = Math.max(window.top.document.body.scrollWidth, window.top.document.documentElement.scrollWidth); var pageHeight = Math.max(window.top.document.body.scrollHeight, window.top.document.documentElement.scrollHeight); var cltHeight = Math.max(window.top.document.body.clientHeight, window.top.document.documentElement.clientHeight); var width = 400 ; var height = 200 ; var layer = window.top.document.getElementById("zz_layer"); if (layer != null) { layer.parentNode.removeChild(layer); } // 遮罩层 var layer= window.top.document.createElement("div"); layer.id = "zz_layer"; layer.style.filter = "alpha(opacity=38)";//ie layer.style.opacity = "0.38";//ff layer.style.width = pageWidth + "px"; layer.style.height = pageHeight + "px"; layer.style.position= "absolute"; layer.style.top = 0; layer.style.left = 0; layer.style.backgroundColor = "#000"; layer.style.zIndex = "9998"; window.top.document.body.appendChild(layer); // 评价窗口 var newbox = document.getElementById("KF_PJ_DIV"); newbox.style.zIndex = "9999"; newbox.style.display = "block"; newbox.style.width = width + "px"; newbox.style.height = height + "px"; newbox.style.border = "#565656 4px solid"; newbox.style.background = "#FFFFFF"; newbox.style.position = "absolute"; newbox.style.left = pageWidth/2 + "px"; newbox.style.top = (cltHeight/2) + "px"; if(height/2 > (cltHeight/2)){ newbox.style.marginTop = ( - (cltHeight/2)) + "px"; }else{ newbox.style.marginTop = ( - height/2) + "px"; } if(width/2 > (pageWidth/2)){ newbox.style.marginLeft = ( - (pageWidth/2)) + "px"; }else{ newbox.style.marginLeft = ( - width/2) + "px"; } return "您尚未对客服服务作出评价,请点击‘取消'评分!"; }; function mydiv_resize(){ var pageWidth = Math.max(window.top.document.body.scrollWidth, window.top.document.documentElement.scrollWidth); var pageHeight = Math.max(window.top.document.body.scrollHeight, window.top.document.documentElement.scrollHeight); var cltHeight = Math.max(window.top.document.body.clientHeight, window.top.document.documentElement.clientHeight); var cltWidth = Math.max(window.top.document.body.clientWidth, window.top.document.documentElement.clientWidth); var width = 400 ; var height = 200 ; var layer = window.top.document.getElementById("zz_layer"); if (layer != null) { // 遮罩层 layer.style.width = pageWidth + "px"; layer.style.height = pageHeight + "px"; } // 评价窗口 var newbox = document.getElementById("KF_PJ_DIV"); newbox.style.left = cltWidth/2 + "px"; newbox.style.top = (cltHeight/2) + "px"; if(height/2 > (cltHeight/2)){ newbox.style.marginTop = ( - (cltHeight/2)) + "px"; }else{ newbox.style.marginTop = ( - height/2) + "px"; } if(width/2 > (pageWidth/2)){ newbox.style.marginLeft = ( - (pageWidth/2)) + "px"; }else{ newbox.style.marginLeft = ( - width/2) + "px"; } } window.onresize = mydiv_resize;
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript窗口操作与技巧汇总》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。