Jul 19

ymPrompt消息提示组件 2.0版发布(07-21更新) 不指定

yemoo , 2008/07/19 14:41 , 个人小作 , 评论(36) , 阅读(3529) | |
更新日志:
2008-07-21:
1、解决了与页面window.onload事件冲突的bug。
2、更新css,解决消息字体在部分浏览器下字体难看的问题。
3、修改了组件按钮生成方式、按钮点击事件的回调方式及tab/方向键切换按钮焦点部分代码的实现,准备下个版本支持多按钮/用户自定义按钮/不显示按钮。
4、修改了DEMO,增加换肤演示。
================================
上个版本距今有一年多了,一直承诺发布2.0版,但由于自己的种种原因,一直拖延到今天才发布,之前可能让不少网友失望,对此我深表抱歉!呵呵~废话不多说了,本来这个早就完成了,但由于存在很多细节的问题没有处理,今天周末,大早上8点多爬起来一直拼搏到现在自己才觉得比较满意,可以发布了,可能还会有不少的问题,如果大家在使用中遇到可以即时在博客中反馈给我。

组件名称:
ymPrompt消息提示组件 2.0

组件说明:
在web开发中,对于浏览器默认的消息提示框(如alert,confirm等)外观无法控制,为了实现更好的界面效果,于是模拟系统的消息提示框实现了该组件。在外观上可以通过css进行完全的控制。

组件功能介绍:
1、调用方式简单,直接使用ymPrompt.alert()的方式调用,传入相应的参数即可。
2、兼容IE6.0+、FF1.5+、Opear9+(在Opear下显示有一个小缺陷),兼容HTML4/XHTML1.0页面渲染模式。
3、完全的CSS皮肤定制功能,所有外观包括显示图标/关闭按钮等都可以通过css设置。目前提供了五种皮肤,Vista、QQ、dmm-green、ExtBlue和BlackColl。有兴趣可以修改样式表文件定义新的皮肤。
4、提供四种消息类型。分别为消息提示、成功信息、错误信息、询问信息。
5、弹出消息框时屏蔽页面其它元素的操作,自动隐藏页面select及iframe下select(无限级select隐藏),并遮罩iframe等元素。
6、页面select控件状态还原时保持原状态,即如果原来select就是隐藏的,则消息框弹出并关闭后该select仍保持隐藏状态,而只显示原本显示的select。
7、消息组件弹出时屏蔽除Tab和回车外的几乎所有键盘操作(包括F5),“消息确认框”支持“tab键/左右方向键”切换确定/取消焦点。
8、可以页面加载的任意时间调用,如页面初始化时调用,页面加载完成后调用。
9、支持通过JSON和传统的参数传入方式。如ymprompt.alert('消息内容',300,200,'消息标题',handler)和ymprompt.alert({message:'消息内容',width:300,height:200,title:'消息标题',handler:handler}),这两种写法是等价的。
10、只需要一个回调函数,可捕获确定、取消及关键按钮的点击事件。函数改变了1.0版需要对确定和取消按钮分别写回调函数及不支持关闭事件的缺陷,
11、完全的封装,对外只暴露一个ymPrompt变量,有效防止与使用者程序变量的冲突。
12、程序(js)与样式(css)的完全分离,取消了1.0中自动加载css的功能,用户可根据需要加载对应css样式表单,降低了对样式配置的复杂度。

ymPrompt2.0下载地址:
下载文件 (已下载 1163 次)

演示地址:http://www.ajaxbbs.net/test/ymPrompt2.0/demo.html

1.0版链接地址:http://www.ajaxbbs.net/post/100/

2.0与1.0改进和差异:
1、2.0中程序不再自动加载样式表,由用户将样式表引入到页面中,相比1.0对样式的控制更加简单,且降低了程序实现的复杂性。
2、2.0除了支持传统的参数传入外,还支持JSON,通过json方式,不用再记忆参数顺序。
3、2.0解决了1.0在IE和FF下显示高度不一致的问题。
4、2.0代码封装程度更高,进对外公开一个变量ymPrompt,更好的防止变量冲突问题。
5、2.0代码更加简洁,文件更小,压缩版的由7k减为5k,未压缩的由16k减为11k。2.0中程序实现方式的改变也使性能相比1.0有所提升。
6、2.0回调函数变为一个,1.0中需要分别对确定和取消/关闭分别写回调函数,2.0中只需要一个回调函数,组件会为回调函数传入点击类型,如'ok','cancel','close',解决了1.0无法区分取消与关闭的问题。
7、调用方法及参数的一些小改变,如Alert改为ymprompt.alert(),当然你可以在你的程序中通过Alert=ymprompt.alert保留Alert的调用方式。
8、2.0提供了对遮罩的样式控制(颜色及透明度)。

调用方法及参数说明:
1、在页面中引入ymPrompt.js。如:<script type="text/javascript" src="ymPrompt.js"></script>
2、在页面中引入对应的皮肤文件的CSS,如:<link rel="stylesheet" type="text/css" href="skin/default/ymPrompt.css" />
3、根据您的需要调用相应的消息函数:
    ymPrompt.alert(message,width,height,title,handler,maskAlphaColor,maskAlpha) //消息提示类型
    ymPrompt.succeedInfo(....) //成功信息类型
    ymPrompt.errorInfo(...) //错误信息类型
    ymPrompt.confirmInfo(....) //询问消息类型

    四个方法的参数个数及意义完全相同:

    message:消息组件要显示的内容,默认为“内容”。
    width:消息框的宽度,默认为300。
    height:消息框的高度,默认为185。
    title:消息组件标题,默认为“标题”
    handler:回调函数。当确定/取消/关闭按钮被点击时会触发该函数并传入点击的按钮标识。如ok代表确定,cancel代表取消,close代表关闭
    maskAlphaColor:遮罩的颜色,默认为黑色。
    maskAlpha:遮罩的透明度,默认为0.1。

    参数传入方式包含两种:

    第一种即传统的参数传入,按照顺序传入相应的参数值即可,对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题')
    第二种即JSON的传入方式,需要指定字段名。如ymPrompt({title:'标题',message:'内容'})

4、其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用:
在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行调用。  
    
From 本站原创
Eachcan Email
2008/11/21 12:52
建议:
用了你这个组件后真是方便了不少.还有一个功能希望也能实现一下.
现在要想加入表单项我是直接用confirmInfo显示一些表单,如果返回值是OK时我去获取表单的值.但是每次用时要去除左侧的图标,用完恢复.如果单独有一个方法newwinInfo就好了.这里面的内容我们自己定义,而且先调用处理函数然后再调用内部的Destroy.
wdmcsoft
2008/11/06 01:42
fear

document.form1.jtzw.focus();
没法使用鼠标焦点
包子
2008/10/29 10:55
你好,我使用了您的组件后,发现了一个问题,
比如说这段代码
//aa=document.getElementById("keywords").value;
aa=document.search_form.keywords.value;
if(aa==""){
ymPrompt.alert({message:"请输入关键字!",maskAlpha:"0"});
}
我发现如果我使用getElementById来去值,值是取不到的,而使用相应的form名称来取值,就能够取到值。不知道为什么。如果不用您的提示插件,是都没有问题的。这是为什么呢?
sonic
2008/10/20 16:35
标题默认是中文呀,不能设置么?
echosyl
2008/10/16 13:04
试了下,很好用!
再提个问题,在IE8下遮罩的透明度无效,默认颜色就都黑了,很夸张。
希望能解决这个问题!
kevin
2008/10/13 19:43
问题解决了,未加密版本如果出现js报错,请将文件编码改为UTF8,或者和网页编码一样的,就可以了
kevin
2008/10/13 19:10
加载未加密版本一直报错
kevin
2008/10/13 17:00
CSS的样式和IE6冲突
kevin
2008/10/13 16:36
很愤怒。。。你做的是组件啊,老大,连调用方法都改了,我怎么升级啊,您是大爷,我太佩服您了
lkh
2008/09/13 19:00
如果直接输出<script type="text/javascript">
ymPrompt.confirmInfo('信息确认框功能测试',null,null,null);
</script>不支持handler和handler2而且不管succeedinfo,errorinfo还是confirminfo显示的都是alert的效果
yemoo 回复于 2008/09/23 14:40
该问题已解决,请重新下载。
分页: 1/4 第一页 1 2 3 4 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]