ymPrompt框架。(弹出框)

JS弹出窗、弹出层组件,ymPrompt V4.0使用简介(转)

ymPrompt从最简单的1.0版本到现在的4.0版本,代码共经历了四次较大的改动,组件在功能上有了很大的改进,应用灵活 度更大,可应用环境的环境更加广泛,特别在4.0版本中加入对遮罩显示隐藏、按钮/图标的自定义、组件语言的控制、窗口悬浮位置等控制功能,更加的增强了 组件的应用范围,使其不仅仅可以使用到模拟alert弹出之类的应用中,更可实现类似qq消息提示,登陆窗口,进度条等效果。

但是,任何的 事情都具有其两面性,随着功能的增多,组件的使用的复杂度也在逐步增加,好在组件每次更新都努力在兼容之前版本的基础上做修改,这使得你可以以很简单的方 式定制简单的弹出框,也可以以较复杂的参数来定制更加强大的弹出框。不要被demo及使用说明中的一堆参数和方法所吓倒,很多参数也许我们可能并不会用 到,找到我们真正需要的那一两个参数就足够了。

本打算在年前发布4.0版,但由于一些功能的实现一直不太稳定,加上年前工作的原因,推迟到 年后才发布,该版本的代码在3.0的基础上做了比较大的改动,修正了之前版本的一些问题,增加了几个功能,不少是网友对我提出的,在此感谢。在完善和改进 组件的同时,尽管我一直在努力保持组件的代码的最小化,任何一个字节的代码能省则省,但限于个人能力,因此代码可能仍然不是最简洁的,如果哪位大侠有好的 改进意见,请不吝指教!

其中主要改进内容如下:

4.0版演示地址:http://tech.cncms.com/demo/js/ymPrompt4.0/demo.html

4.0版下载地址:ymPrompt-4.0-B-20090302.rar

覆盖Frameset示例:http://tech.cncms.com/demo/js/ymPrompt4.0/frameset.html

ymPrompt 调用方法及参数说明

  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‘}) 

    组件的默认配置(对于没有设定的项将采用该配置项的默认值): 

      message: ‘内容‘, //消息框按钮 
      width: 300, //宽 
      height: 185, //高 
      title: ‘标题‘, //消息框标题 
      handler: function() {}, //回调事件 
      maskAlphaColor: ‘#000‘, //遮罩透明色 
      maskAlpha: 0.1, //遮罩透明度

      iframe: false, //iframe模式 
      icoCls: ‘‘, //图标的样式 
      btn: null, //按钮配置 
      autoClose: true, //点击关闭、确定等按钮后自动关闭 
      fixPosition: true, //随滚动条滚动 
      dragOut: false, //不允许拖出窗体范围 
      titleBar: true, //显示标题栏 
      showMask: true, //显示遮罩 
      winPos: ‘c‘, //在页面中间显示 
      winAlpha:0.8, //拖动窗体时窗体的透明度 
      closeBtn:true, //是否显示关闭按钮 
      showShadow:false, //不显示阴影,只对IE有效 
      useSlide:false, //不使用淡入淡出 
      slideCfg:{increment:0.3,interval:50}, //淡入淡出配置

      //按钮文本,可通过自定义这些属性实现本地化 
      closeTxt: ‘关闭‘, 
      okTxt:‘ 确 定 ‘, 
      cancelTxt:‘ 取 消 ‘, 
      msgCls:‘ym-content‘ //消息内容的样式 
      minBtn:false, //不显示最小化按钮 
      minTxt:‘最小化‘, 
      maxBtn:false, //不显示最大化按钮 
      maxTxt:‘最大化‘ 
      allowSelect:false, //是否允许选择消息框内容,默认不允许 
      allowRightMenu:false //是否允许在消息框使用右键,默认不允许 
    }

  4. 根据您的需要调用相应的消息函数(两种参数传入方式):
    • ymPrompt.alert(参数) //消息提示类型
    • ymPrompt.succeedInfo(参数) //成功信息类型
    • ymPrompt.errorInfo(参数) //错误信息类型
    • ymPrompt.confirmInfo(参数) //询问消息类型
    • ymPrompt.win(参数) //自定义窗口类型

    参数传入方式包含两种:

    • 第一种即传统的参数传入,按照顺序传入相应的参数值即可(一定要按照顺序),对于不需要设定的值请传入null。如ymPrompt.alert(‘内容‘,null,null,‘标题‘) 
      参数顺序上面的默认配置中参数顺序一致
    • (推荐)第二种即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(显示)。
    • showShadow:是否启用弹出框阴影效果(IE Only),默认为false
    • useSlide:f是否启用弹出框的渐显渐隐效果,默认为false
    • slideCfg:渐变效果的配置信息,参数格式为object,属性包括incerment:透明度每次增加的值,interval:变化的速度。例如:{incerment:0.3,interval:50}。该参数仅在useSlide为true时有效 

      //以下参数可用于对组件语言本地化,如用于英文等系统中

    • okTxt:确定按钮的文本描述,默认为“确定”
    • cancelTxt:取消按钮的文本描述,默认为“取消”
    • closeTxt:关闭按钮的文本描述(鼠标放在关闭按钮上时显示),默认为“关闭”
    • minTxt:最小化按钮的文本描述,默认为“最小化”
    • maxTxt:最大化按钮的文本描述,默认为“最大化”
    • minBtn:是否显示最小化按钮,默认为false
    • maxBtn:是否显示最大化按钮,默认为false
    • allowSelect:是否允许选择消息框内容,默认为false
    • allowRightMenu:是否允许在消息框中使用右键,默认为false
  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()

    max():最大化弹出窗口。

    min():最小化弹出窗口

    normal():窗口普通弹出状态
  6. 其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用: 
    在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行调用
时间: 2024-10-07 06:14:25

ymPrompt框架。(弹出框)的相关文章

Android 学习笔记之AndBase框架学习(二) 使用封装好的进度框,Toast框,弹出框,确认框...

PS:渐渐明白,在实验室呆三年都不如在企业呆一年... 学习内容: 1.使用AbActivity内部封装的方法实现进度框,Toast框,弹出框,确认框...   AndBase中AbActivity封装好了许多方法提供我们去使用,使得在使用的时候更加的方便,只需要传递相关参数即可..省去了我们自己使用基础的函数进行构造...   就好比进度框,Toast框,弹出框,确认框...这些基本的东西都在AndBase的AbActivity封装好了...我们只需要传递参数调用其中内部的方法就可以完成这些视

【如何使用jQuery】【jQuery弹出框】【jQuery对div进行操作】

1.如何使用jQuery jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. 使用jQuery前必须下载并引用jQuery的js文件,下载链接为h

BootStrap学习笔记JS插件(一)--模态弹出框

一.弹出框基础 <div class="modal show"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss=&quo

移动端弹出框插件

在H5移动端项目开发过程,肯定会遇到不少与客户打交道的弹出框. 当然基于H5+ API中有提供系统的弹出对话框,虽然能够达到效果,但是实际的美观是几乎不存在的. 应项目需要,草草的写了一个弹出框的效果. 作为程序猿代码是最敏感的,废话也少说了,直接看下面的代码: css代码部分: #lee-mask { background: #000; opacity: 0.7; position: absolute; z-index: 1000; top: 0; left: 0; right: 0; bot

WdatePicker日期不能弹出框

发育.在引用WdatePicker当日历控件,正确的路径.日历控件封装完整,在正常情况下的代码,调试正常,但公告日期后不能弹出框,最终核实后想办法找到一个解决方案: 更改方法:于WdatePicker.js将$crossFrame:true更改false.之后的变化,不显示任何课程,清除缓存.跨边界问题的框架 版权声明:本文博主原创文章,博客,未经同意不得转载.

使用easydrag实现可拖动的DIV弹出框

最近在工作中遇到了jquery的easydrag插件,我有一种相见恨晚的赶脚!easydrag极大的方法我们实现div弹框这个功能,使我爱不释手!在没遇到easydrag插件之前,想实现一个弹出框并不是一件轻而易举的事情!人们常说没有不劳而获的事情,但在编码的世界中却不是这样.更多的开源框架方面了我们,也毒害了我们! 废话少说,先看效果: 全部代码: <!DOCTYPE HTML> <html> <head> <title>easydrag实现可拖动的DIV

控制非模态弹出框(showModelessDialog)唯一且随父页面关闭

网站开发中,常常会遇到需要弹出窗体的情况,一般弹出框有模态和非模态两种,如下: 模态:window.showModalDialog() 非模态:window.showModelessDialog() 另外还有window.open 方法,以及通过div来模拟弹出框效果的形式. window.open请自行百度,了解不深:div模拟的方式不适用与,弹出框中某些组件与父页面组件不相容的情况,如笔者所在项目,父页面中的jquery与整个网站js框架不相容(当然不是简单的可以通过替换$关键字来解决).所

layer弹出框

layer: 下载js和layer库 弹出框类型: 警告: 对话框: 框架: //弹出窗口 $(document).ready(function(){ $("#login").click(function(){ $.layer({ type: 2, title: false, fix: false, border : [5, 0.3, '#666', true], offset: ['100px',''], area: ['300px','100px'], iframe: {src:

Bootstarp学习(二十三)模态弹出框(Modals)

这一小节我们先来讲解一个"模态弹出框",插件的源文件:modal.js. 右侧代码编辑器(30行)就是单独引入 bootstrap 中发布出的"modal.js"文件. 样式代码: ? LESS版本:modals.less ? Sass版本:_modals.scss ? 编译后的Bootstrap:对应bootstrap.css文件第5375行-第5496行 在 Bootstrap 框架中把模态弹出框统一称为 Modal.这种弹出框效果在大多数 Web 网站的交互中