改变提示框风格:ymPrompt!?

    技术2022-05-20  52


    ymPrompt

    是款不错的基于Ajax的提示框插件,网上有许多关于它的用法。友情链接:

    1.Demo演示http://www.rainweb.cn/JavaScript/message-alert/demo.html

    2.相关下载http://d.download.csdn.net/down/2818267/xiaom7788

    只是我用的时候发觉他对某些frameset框架的支持不是很好(比如Dorado的MenuItem),总是报以下错误:_initFn[...]为空或不是对象。大概是内部框架无法识别页面中的某个对象造成的。

     

    所以在这个时候要想换提示框风格的话,我就找到了如下方法:


     

    <script language="javascript" type="text/javascript">window.alert = function(txt){var shield = document.createElement("DIV");shield.id = "shield";shield.style.position = "absolute";shield.style.left = "0px";shield.style.top = "0px";shield.style.width = "100%";shield.style.height = document.body.scrollHeight+"px";shield.style.background = "#333";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 = "absolute";alertFram.style.left = "50%";alertFram.style.top = "50%";alertFram.style.marginLeft = "-225px";alertFram.style.marginTop = "-75px";alertFram.style.width = "450px";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:#DD828D;text-align:left;padding-left:20px;font-size:14px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;/">[系统提示]</li>/n";strHtml += " <li style=/"background:#fff;text-align:center;font-size:12px;height:120px;line-height:120px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;/">"+txt+"</li>/n";strHtml += " <li style=/"background:#FDEEF4;text-align:center;font-weight:bold;height:25px;line-height:25px; border:1px solid #F9CADE;/"><input 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;};}</script>

     

    调用的时候直接在js代码中写alert('aaa');此代码几乎不受框架影响。

     本文用 菊子曰发布

    最新回复(0)