本文實例講述了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程序設計有所幫助。