js重写alert样式

 window.alert = function(txt)
    {
	 var winSize = function(){
         var xScroll, yScroll, windowWidth, windowHeight, pageWidth, pageHeight;
         // innerHeight获取的是可视窗口的高度,IE不支持此属性
         if (window.innerHeight && window.scrollMaxY) {
             xScroll = document.body.scrollWidth;
             yScroll = window.innerHeight + window.scrollMaxY;
         } else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
             xScroll = document.body.scrollWidth;
             yScroll = document.body.scrollHeight;
         } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
             xScroll = document.body.offsetWidth;
             yScroll = document.body.offsetHeight;
         }

         if (self.innerHeight) {    // all except Explorer
             windowWidth = self.innerWidth;
             windowHeight = self.innerHeight;
         } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
             windowWidth = document.documentElement.clientWidth;
             windowHeight = document.documentElement.clientHeight;
         } else if (document.body) { // other Explorers
             windowWidth = document.body.clientWidth;
             windowHeight = document.body.clientHeight;
         }

         // for small pages with total height less then height of the viewport
         if (yScroll < windowHeight) {
             pageHeight = windowHeight;
         } else {
             pageHeight = yScroll;
         }

         // for small pages with total width less then width of the viewport
         if (xScroll < windowWidth) {
             pageWidth = windowWidth;
         } else {
             pageWidth = xScroll;
         }

         return{
             'pageWidth':pageWidth,
             'pageHeight':pageHeight,
             'windowWidth':windowWidth,
             'windowHeight':windowHeight
         }
     }();
	 
     var shield = document.createElement("DIV");
     shield.id = "shield";
     shield.style.position = "absolute";
     shield.style.left = "0px";
     shield.style.top = "0px";
     shield.style.width =  winSize.pageWidth+"px";
     shield.style.height = document.body.scrollHeight+"px";
     shield.style.background = "rgba(51,51,51,0.6)";
     shield.style.textAlign = "center";
     shield.style.zIndex = "10000";
     shield.style.filter = "alpha(opacity=0)";
     var alertFram = document.createElement("DIV");
     alertFram.id="alertFram";
     alertFram.style.position = "fixed";
     alertFram.style.left = "15%";
     alertFram.style.top = (winSize.windowHeight / 2 - 150)+"px";
     alertFram.style.width =  "70%";
     alertFram.style.height = "150px";
     alertFram.style.background = "#ccc";
     alertFram.style.textAlign = "center";
     alertFram.style.lineHeight = "150px";
     alertFram.style.zIndex = "10001";
     strHtml = "<ul style=\"list-style:none;margin:0px;padding:0px;width:100%\">\n";
     strHtml += " <li style=\"background:#fff;text-align:left;padding-left:10px;font-size:14px;height:25px;line-height:25px;border-bottom:1px solid #ff6a01;\">[系统提示]</li>\n";
     strHtml += " <li style=\"background:#fff;text-align:center;font-size:14px;height:120px;line-height:120px;\">"+txt+"</li>\n";
     strHtml += " <li style=\"background:#fff;text-align:center;font-weight:bold;height:28px;line-height:28px; border-top:1px solid #ff6a01;\"><input style=\"background:#fff;color:#000;font-size:14px;height:27px;line-height:27px;\" type=\"button\" value=\"确 定\" οnclick=\"doOk()\" /></li>\n";
     strHtml += "</ul>\n";
     alertFram.innerHTML = strHtml;
     document.body.appendChild(alertFram);
     document.body.appendChild(shield);
     var c = 0;
     this.doAlpha = function(){
         if (c++ > 20){clearInterval(ad);return 0;}
         shield.style.filter = "alpha(opacity="+c+");";
     }
     var ad = setInterval("doAlpha()",5);
     this.doOk = function(){
         alertFram.style.display = "none";
         shield.style.display = "none";
     }
     alertFram.focus();
     document.body.onselectstart = function(){return false;};
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值