JoyDialog
能够自适应pc、移动端的弹窗插件,包括常见的 alert、toast、notice 类型弹窗。
特性
- 支持常见的 alert、toast、notice 类型弹窗
- 兼容IE9+、chrome、firefox、safari
- 可自定义按钮的文字、样式、回调函数,支持多个按钮
- 多个弹窗状态改变回调函数
- 可扩展性强
- 可自定义多个按钮
github
https://github.com/cn-joyconn/joyconn-dialog
gitee
https://gitee.com/EricZsp/joyconn-dialog
演示地址
https://cn-joyconn.github.io/joyconn-dialog/demo/demo.html
效果预览
使用说明
1、script引入方式
//请自行引入zepto或jquery
<link rel="stylesheet" href="dist/JoyDialog.css" />
<script src="dist/JoyDialog.js"></script>
2、npm引入方式
npm install --save-dev joyconn-dialog
3、HTML 结构
显示弹窗
4、实例化
;
参数
参数 | 默认值 | 说明 |
---|---|---|
type | 'alert' | 弹窗的类型。
alert: 确定;
toast: 状态提示
基于toast,内置了loading、toast_success、toast_error、toast_warning、toast_info、toast_question、toast_busy、toast_wind 8种模式; 基于notice,内置了notice_success、notice_error、notice_warning、notice_info 4种模式; notice: 提示信息 |
style | 'default' | alert 弹窗的风格。 default: 根据访问设备平台; pc: pc 风格;mobile: mobile 风格; |
titleShow | true | 是否显示标题 |
titleText | '提示' | 标题文字 |
bodyNoScroll | false | body 内容不可以滚动 |
closeBtnShow | false | 是否显示关闭按钮 |
content | '' | 弹窗提示内容, 值可以是 HTML 内容 |
contentScroll | true | alert 弹窗提示内容是否限制最大高度, 使其可以滚动 |
dialogClass | '' | 弹窗自定义 class |
autoClose | 0 | 弹窗自动关闭的延迟时间(毫秒)。 0: 不自动关闭; 大于0: 自动关闭弹窗的延迟时间 toast、notice默认2000毫秒 |
overlayShow | true | 是否显示遮罩层 |
width | auto | 宽度 自动auto、100px |
height | auto | 高度 自动auto、100px |
overlayClose | false | 是否可以点击遮罩层关闭弹窗 |
buttonStyle | 'side' | 按钮排版样式。side: 并排; stacked: 堆叠 |
buttonTextConfirm | '确定' | 确定按钮文字,为null、''、undefined、false时不显示确定按钮 |
buttonTextCancel | '取消' | 取消按钮文字,为null、''、undefined、false时不显示取消按钮 |
buttonClassConfirm | '' | 确定按钮自定义 class |
buttonClassCancel | '' | 取消按钮自定义 class |
buttons | [] | alert 弹窗自定义按钮组, 不会覆盖"确定"与"取消"按钮; 单个 button 对象可设置 name [ 名称 ]、class [ 自定义class ]、callback [ 点击执行的函数 ] |
infoIcon | '' | toast 与 notice 弹窗的提示图标, 值为图标的路径。不设置=不显示 |
infoIconColor | '' | toast 与 notice 弹窗的提示图标的颜色, 如:'#f00'。 |
infoText | '' | toast 与 notice 弹窗的提示文字, 会覆盖 content 的设置 |
infoColor | '#fff' | toast 与 notice 弹窗的文字颜色 |
infoBgColor | 'rgba(0, 0, 0, 0.8)' | toast 与 notice 弹窗的背景颜色 |
position | 'top' | notice 弹窗的位置, center: 居中; bottom: 底部; top: 底部 |
回调函数
函数 | 默认值 | 说明 |
---|---|---|
onClickConfirmBtn | function(){} | 点击“确定”按钮的回调函数 |
onClickCancelBtn | function(){} | 点击“取消”按钮的回调函数 |
onBeforeShow | function(){} | 弹窗显示前的回调函数 |
onShow | function(){} | 弹窗显示后的回调函数 |
onBeforeClosed | function(){} | 弹窗关闭前的回调函数 |
onClosed | function(){} | 弹窗关闭后的回调函数 |
方法
实例方法 | 说明 |
---|---|
obj.close | 关闭对话框。 用法:dialogObj.close() |
obj.resizeDialog | 改变弹窗大小,参数:(高,宽) 用法:dialogObj.resizeDialog(100,100) |
obj.update | 更改弹窗内容 ( 图标以及提示文字 ) 可传入参数: content: 弹窗内容, 可以是HTML infoIcon: 弹窗提示图标 infoText: 弹窗提示文字 autoClose: 自动关闭的延迟时间 onBeforeClosed: 关闭前回调函数 onClosed: 关闭后回调函数 |
静态方法 | 说明 |
---|---|
JoyDialog.showLoading(); | 弹出全局唯一loading,多次调用不重叠 |
JoyDialog.hideLoading(); | 关闭全局loading |
目录结构
.
├─demo # demo示例页面
│ ├─image # demo中的图片
│ ├─lib # demo中用到的js插件
│ ├─demo.html # demo样例html文件
│ └─style.css # demo中用到的css样式
├─dist # 项目发布资源目录, npm 生成
│ ├─iconfont # 弹出层的iconfont库
│ ├─JoyDialog.css # 弹出层 CSS 文件
│ └─JoyDialog.js # dialo.js文件
├─src # 实际进行开发的目录
│ ├─css # 项目 CSS 文件
│ ├─iconfont # 项目 iconfont 文件
│ └─js # 项目 JS 文件
│ ├─core.js # 弹窗主要 JS
│ ├─dialog.js # dialog封装 JS
│ └─util.js # 工具 JS
│
├─index.js # 入口 JS
├─webpack.config.js # webpack 打包配置
└─package.json # 项目信息以及依赖
npm 使用方法
1、安装 npm modules
npm install
2、在本地运行项目
npm run serve
3、打包命令
npm run build