ONLY A DREAM - 梦想在线!WWW.ONLYAA.COM
当前位置:首 页 > 界面组件 > 文章内容
[消息提示组件]ymPrompt 2.0版发布(07-21更新)
来源:51js.netman 发布时间:2008-07-21 阅读次数:
[摘要]:

演示地址:http://www.onlyaa.com/examples/ymPrompt2.0/demo.html

更新日志:
2008-07-21:
1、解决了与页面window.onload事件冲突的bug。
2、更新css,解决消息字体在部分浏览器下字体难看的问题。
3、修改了组件按钮生成方式、按钮点击事件的回调方式及tab/方向键切换按钮焦点部分代码的实现,准备下个版本支持多按钮/用户自定义按钮/不显示按钮。
4、修改了DEMO,增加换肤演示。
================================
由于个人的种种原因,本来早该发布的2.0版,延迟了半年多才发布,对此我深表抱歉,特别是一直在等待2.0发布的朋友们。
昨天上午在家无事,自己赶紧把原来一直放着的2.0版代码做了一些小的优化和调整后发布了出来。

更新日志:
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样式表单,降低了对样式配置的复杂度。

历史版本: [v1.0]功能丰富的JS消息提示组件

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()的方式进行调用。  

下载地址:http://onlyaa.com/uploads/soft/ymPrompt2.0.zip


编辑
» 进入JAVASCRIPT经典社区讨论 [收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]
网友评论 - (共有 0 位网友发表了评论)
发表评论
    用户名: 密码: 匿名评论
    评论内容:不能超过250字,需审核后才会公布
     请您注意:
    ·不良评论请用报告管理员,以利管理员及时删除。
    ·尊重网上道德,遵守中华人民共和国的各项有关法律法规
    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
    ·本站评论管理人员有权保留或删除其管辖评论中的任意内容 
    ·您在本站发表的作品,本站有权在网站内转载或引用 
    ·参与本评论即表明您已经阅读并接受上述条款