改变提示框风格:ymPrompt!?

来源:互联网 发布:知乎智障多 编辑:程序博客网 时间:2024/04/28 16:11

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=/"确 定/" onclick=/"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');此代码几乎不受框架影响。

菊子曰 本文用菊子曰发布
原创粉丝点击