# ymPrompt消息提示组件4.0版[2009-02-16]DEMO演示及使用简介

### 页面IFRAME:

### 页面文本: 页面文本1 页面文本2 | ### 页面Select选择框

更换皮肤：
修改默认配置：拖动窗体的透明度： 遮罩颜色： 遮罩透明度:
登录成功！

组件调用方式1(传统参数传入方式)：
示例 | 调用方法
--- | ---
| ymPrompt.alert('http://www.qq.com',null,null,'确认要提交吗?',handler)
| ymPrompt.succeedInfo(document.getElementById('txt').innerHTML,400,260,null,handler2)
| ymPrompt.errorInfo('操作失败！',null,null,null,handler)
| ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,handler)
| ymPrompt.win('<div class=\'myContent\'>普通弹出窗口</div>',300,200,'普通弹窗测试')
| ymPrompt.win('http://www.qq.com',500,300,'腾讯QQ官方网站',handler,null,null,{id:'a'})

组件调用方式2(JSON方式)：
示例 | 源码
--- | ---
| ymPrompt.alert({message:'http://www.qq.com',title:'确认要提交吗?',handler:handler})
| ymPrompt.succeedInfo({message:document.getElementById('txt').innerHTML,width:400,height:260,handler:handler2})
| ymPrompt.errorInfo({message:'操作失败！',handler:handler})
| ymPrompt.confirmInfo({message:'信息确认框功能测试',handler:handler})
| ymPrompt.win({message:'<div class=\'myContent\'>普通弹出窗口</div>',width:300,height:200,title:'普通弹窗测试'})
| ymPrompt.win({message:'http://www.qq.com',width:500,height:300,title:'腾讯QQ官方网站',handler:handler,iframe:true})

其他使用方式演示：
示例 | 源码
--- | ---
| ymPrompt.alert()
| ymPrompt.alert('消息内容')
| ymPrompt.alert({title:'我的标题',message:'我的内容'})
| ymPrompt.win({title:'iframe模式',fixPosition:true,iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}})
| ymPrompt.alert({title:'fixPosition使用演示',message:'我不会随滚动条一起滚动',fixPosition:false})
| ymPrompt.alert({title:'dragOut使用演示',message:'我可以拖出到窗口可见区域以外',dragOut:true})
| ymPrompt.alert({title:'autoClose使用演示',message:'程序控制关闭',autoClose:false,handler:autoClose})
| ymPrompt.win({message:'<br><center>无标题栏</center>',handler:noTitlebar,btn:[['关闭我']],titleBar:false})
| ymPrompt.win({message:'<br><center>无关闭按钮</center>',btn: ['OK'],closeBtn:false})
| ymPrompt.alert({message:'不显示遮罩',title:'不显示遮罩',showMask:false})
| ymPrompt.alert({message:'右下角弹出',title:'右下角弹出',winPos:'rb'})
| ymPrompt.alert({message:'自定义弹出位置',title:'右下角弹出',winPos:[200,1000]})
| ymPrompt.win({message:'自定义按钮',title:'自定义按钮测试',handler:testHd,btn:[['是','yes'],['否','no'],['取消','cancel']]})
| ymPrompt.alert({message:'拖动窗体时的透明度为0.5',title:'自定义按钮测试',winAlpha:0.5})

组件方式及属性调用演示：
示例 | 源码
--- | ---
| ymPrompt.win('<div class=fmt>版本号：'+ymPrompt.version+'<br>发布日期：'+ymPrompt.pubDate+'<br>组件当前配置信息：'+json2str(ymPrompt.cfg)+'</div>',250,450)
| ymPrompt.win({message:'iframe.html',width:500,height:300,title:'getPage测试',handler:handlerIframe,autoClose:false,iframe:true})
| ymPrompt.alert({message:'一秒钟后我的大小改为[400,300]',height:200,width:250}); setTimeout(function(){ymPrompt.resizeWin(400,300)},1000);
| ymPrompt.alert({message:'两秒钟后自动点击确定按钮',handler:handler}); setTimeout(function(){ymPrompt.doHandler('ok')},1000);
| ymPrompt.alert({message:'点击确定显示按钮的内容',autoClose:false,btn:[['是','yes'],['否','no']],handler:getButtons})
| ymPrompt.alert({message:'悬浮右下角，模拟qq',fixPosition:true,winPos:'rb',showMask:false})
| ymPrompt.alert({message:'英文化成功',handler:en})
| ymPrompt.alert({message:'中文化成功',handler:cn})

### 调用方法及参数说明

1. 在页面中引入ymPrompt.js。如：<script type="text/javascript" src="ymPrompt.js"></script>
2. 在页面中引入对应的皮肤文件的CSS，如：<link rel="stylesheet" type="text/css" href="skin/qq/ymPrompt.css" />
3. 自定义组件的默认配置信息（此步骤可选，该方法可以在任意时间调用）
   页面的js中通过ymPrompt.setDefaultCfg(cfg)方法修改组件部分或全部的默认属性。
   如：ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'})
   组件的默认配置（对于没有设定的项将采用该配置项的默认值）：
   {
   titleBar:true, //显示标题栏
   fixPosition:true, //不随滚动条浮动
   dragOut:false, //允许拖出页面
   autoClose:true, //点击按钮后自动关闭页面
   maskAlphaColor:'#000', //遮罩透明色
   maskAlpha:0.1, //遮罩透明度
   winAlpha:0.8, //拖动窗体时 窗体的透明度，默认为0.8
   title: '标题', //消息框标题
   message: '内容', //消息框按钮
   width: 300, //宽
   height: 185, //高
   iframe:false,
   btn:null,
   icoCls:'',
   handler: function(){} //回调事件
   showMask: true, //是否显示遮罩
   winPos: 'c', //弹出窗口默认位置
   closeBtn:true, //是否显示关闭按钮
   //按钮文本，可通过自定义这些属性实现本地化
   closeTxt: '关闭',
   okTxt:' 确 定 ',
   cancelTxt:' 取 消 '
   }
4. 根据您的需要调用相应的消息函数(两种参数传入方式)：
   - ymPrompt.alert(参数) //消息提示类型
   - ymPrompt.succeedInfo(参数) //成功信息类型
   - ymPrompt.errorInfo(参数) //错误信息类型
   - ymPrompt.confirmInfo(参数) //询问消息类型
   - ymPrompt.win(参数) //自定义窗口类型
   参数传入方式包含两种：
   - 第一种即传统的参数传入，按照顺序传入相应的参数值即可（一定要按照顺序），对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题')
     参数顺序：message,width,height,title,handler,maskAlphaColor,maskAlpha,
     iframe,icoCls,btn,autoClose,fixPosition,dragOut,titleBar,showMask,winPos,winAlpha
   - (推荐)第二种即JSON的传入方式，需要指定字段名,没有顺序，根据需要设定相关属性。如ymPrompt.alert({title:'标题',message:'内容'})
   五个方法的参数意义完全相同(所有参数均为可选，不传入则使用默认参数值),具体含义如下：
   - message：消息组件要显示的内容，默认为“内容”。
   - width：消息框的宽度，默认为300。
   - height：消息框的高度，默认为185。
   - title：消息组件标题，默认为“标题”
   - handler：回调函数。当确定/取消/关闭按钮被点击时会触发该函数并传入点击的按钮标识。如ok代表确定，cancel代表取消，close代表关闭
   - maskAlphaColor：遮罩的颜色，默认为黑色。
   - maskAlpha：遮罩的透明度，默认为0.1。
   - fixPosition：设定是否弹出框随滚动条一起浮动，保持在屏幕的固定位置，默认为true
   - dragOut：设定是否允许拖出屏幕范围，默认为false。
   - autoClose：设定用户点击窗口中按钮后自动关闭窗口，默认为true（设定为false后程序中可以通过调用close方法关闭）。
   - titleBar：是否显示标题栏，默认显示。注意，如果没有标题栏需要自己在程序中控制关闭。
   - showMask：是否显示遮罩层，默认为true
   - winPos：弹出窗口的位置，支持8种内置位置（c,l,t,r,b,lt,rt,lb,rb）及自定义窗口坐标,默认为c。
     各参数意义：c:页面中间,l:页面左侧,t:页面顶部,r:页面右侧,b:页面顶部,lt:左上角,rt:右上角,lb:左下角,rb:右下角
   - winAlpha：弹出窗体拖动时的透明度，默认为0.8
     //以下三个参数主要用于win方法（当然你也可以通过设定这些覆盖前面四个消息类型的默认属性）。
   - iframe：是否使用iframe方法加载内容，该属性如果为true或者object，组件则尝试将message内容作为url进行加载(如果属性值为一个object，则将object的内容添加为iframe的属性，如iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}则iframe的id为myId,name为myName,src为http://www.baidu.com)。默认为false。
   - icoCls：图标类型。传入的内容为className，具体写法可以参考ymprompt.css中对图标的定义方式。默认为空。
   - btn：按钮定义。传入的是数组形式。每个按钮的格式为['按钮文本','按钮标识']，
     如[['确定','ok'],['取消','cancel'],['关闭','close']]等。
     注意单个按钮应该是这样的：[['确定','ok']]
   - closeBtn：是否显示关闭按钮，默认为true（显示）。
     //以下参数可用于对组件语言本地化，如用于英文等系统中
   - okTxt：确定按钮的文本描述，默认为“确定”
   - cancelTxt：取消按钮的文本描述，默认为“取消”
   - closeTxt：关闭按钮的文本描述（鼠标放在关闭按钮上时显示），默认为“关闭”
5. 操作接口：
   属性：
     version：当前版本号 如：alert(ymPrompt.version)
     pubDate：当前版本的发布日期 如：alert(ymPrompt.pubDate);
     cfg：组件的当前的默认配置
   方法：
     setDefaultCfg(cfg)：设定组件的默认属性，设定后的所有弹出均默认采用cfg中的设置。
     如：ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}); //设定遮罩层颜色为蓝色，透明度0.2
     getPage()：在iframe窗口模式下，获取到iframe的dom对象。
     如：alert(ymPrompt.getPage().contentWindow.document.body.outerHTML); //获取iframe页面的html内容
     resizeWin(w,h)：通过程序动态修改窗口的大小。参数：w：宽度，h:高度
     如：ymPrompt.resizeWin(400,300); //修改弹出框宽度为400px，高度为300px
     doHandler(sign,autoClose)：模拟触发某个按钮的点击事件。参数sign:传给回调函数的标识，autoClose:是否自动关闭窗口（默认采用全局配置）
     如：ymPrompt.doHandler('ok',false); //触发确定按钮的点击事件，并且执行完回调函数后不关闭窗口
     getButtons()：获取当前弹出窗口的所有按钮对象，返回结果是一个对象集合(数组)。
     如：var btnID=ymPrompt.getButtons()[0].id; //获取第一个按钮的id
     close()：关闭当前弹出的窗口 如：ymPrompt.close()
6. 其他说明：如果觉得“对象.方法”的调用方式比较麻烦，可以采用如下方式简化调用：
   在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行调用。