window.alert 弹出窗口 js美化(artDialog使用教程)
artDialog是一款功能强大又非常漂亮的jquery弹窗插件,浏览器兼容性好支持IE6+, Firefox, chrome, Opera, Safari,本教程将介绍如何快速入门使用artDialog。
依赖环境
支持Chrome 、Firefox、Edge、IE6及以上浏览器
artDialog 4.1.7
不依赖jQuery
引用文件
<script src="http://www.jhchina.net/blog/js/jquery.js"></script>
<script src="http://www.jhchina.net/blog/package/artDialog/artDialog.js"></script>
<link href="http://www.jhchina.net/blog/package/artDialog/skins/default.css" rel="stylesheet" />
<!--如果修改弹出窗用iframe框架显示另外一个网页-->
<!--<script src="http://www.jhchina.net/blog/package/artDialog/plugins/iframeTools.js"></script>-->
弹个简单的窗口试一试
var dlg=art.dialog({ content: '弹出内容支持HTML' });
传入html元素
比如传入ID为box的div元素
1,dox元素会被移到conten里面,所以你无需担心这个网页会出现两个ID为box的div,所以弹出层取值可以直接用原来的ID,如box的div里面有一个ID为txtUserName的输入框,取值可以直接 var userName=$("#txtUserName").val();
2,如果被传入的对象是隐藏的,将被显示出来,关闭对话框将恢复到原来的位置和属性。
art.dialog({ content: document.getElementById('box'), id: 'itxst' });
设置标题
art.dialog({ title: '自定义标题内容' });
确定与取消按钮
//缺省的简单写法
art.dialog({ title:'标题', content: '按要有回调函数才会显示', ok: function () { //点击关闭后你要执行的JS // return false;//false不关闭窗口 return true;//立即关闭窗口 }, cancel: true });
//自定义按钮名称的写法
art.dialog({ title:'标题', content: '按要有回调函数才会显示', okVal:'确定提交', ok: function () { //点击关闭后你要执行的JS // return false;//false不关闭窗口 return true;//立即关闭窗口 }, cancelVal:'取消提交', cancel: function(){ return true;//立即关闭窗口 } });
自定义按钮组
artDialog允许传入数组来创建按钮,按钮对象属性包含{name:'按钮名称',callback:回调函数,focus:'是否焦点',disabled:'是否有效'}
art.dialog({ id: 'itxst', content: '正文内容可以是html', button: [ { name: '审批', callback: function () { alert('你审核了流程'); return true; }, focus: true }, { name: '驳回', callback: function () { alert('你驳回了流程'); return true; } }, { name: '无效的按钮', disabled: true } ] });
自定义图标
图标在skins/icons目录下
art.dialog({ icon: 'succeed', // succeed成功图标 error 错误图标 warning 警告图标 loading加载中图标 等等 content: '定义弹窗图标' });
显示阴影遮罩层
art.dialog({ lock: true, background: '#000', // 背景颜色 opacity: 0.6,// 遮罩层透明度 content: '锁住网页屏幕', icon: 'warning', ok: function () { return true; }, cancel: true });
定时关闭
art.dialog({ time: 3, content: '3秒后关闭' });
设置弹出窗ID
art.dialog({ id: 'itxst', content: '多次点击查看ID' });
自定义坐标
art.dialog({ left: 200, top: '50%', content: '自定义坐标' });
//右下角消息窗口
art.dialog({ id: 'notice', title: '通知', content: '即刻就放假!', width: 300, //设置窗口大小 height: 200, left: '100%', top: '100%', fixed: true, //浮动窗口 不跟随滚动条移动 drag: true, //允许拖动 resize: false //不能改变大小 })
artDialog属性设置列表
名称 | 类型 | 描述 |
title | 字符串 | 窗口标题,不设置默认为“消息” |
content | 字符串 | 支持html |
ok | 函数 | 显示确定按钮,点击会调用这个函数,return false不会关闭窗口,return true关闭窗口 |
okVal | 字符串 | 确定按钮显示的文字 |
cancel | 函数或者true/flase | 显示取消按钮,点击会调用这个函数,return false不会关闭窗口,return true关闭窗口 |
cancelVal | 字符串 | 取消按钮显示的文字 |
button | 数组 | 自定义按钮,对象属性如下。 |
[{ | ||
'name':'按钮名称', | ||
'callback' :'点击按钮后执行的函数', | ||
'focus':'按钮是否是焦点' | ||
'disabled':'按钮是否可用' | ||
}] | ||
width | 字符串/数字 | 默认无需设置会按内容自动适配,也可以设置数字和百分比指定宽度 |
height | 字符串/数字 | 默认无需设置会按内容自动适配,也可以设置数字和百分比指定高度 |
fixed | Boolean | 开启弹出框静止定位(artDialog支持IE6 fixed) |
follow | html对象 | 让对话框跟随在指定元素旁边,如follow:document.getElementById('btnOK') |
left | 字符串/数字 | 弹窗位于X坐标位置,可以是数字或百分比 |
top | 字符串/数字 | 弹窗位于Y坐标位置,可以是数字或百分比 |
lock | Boolean | 是否锁屏也就是是否显示遮罩层 |
background | 字符串 | 遮罩层颜色,默认#000,也是设置背景图片 |
opacity | 数字 | 遮罩层透明度默认0.7 |
icon | 字符串 | 弹出层小图标如果error,图片在skins/icons/文件夹下 |
padding | 字符串 | 内容与边界填充边距默认 20px 25px |
time | 数字 | 弹出层显示时间,以秒为单位 |
resize | Boolean | 是否允许调整对话框大小,默认true |
drag | Boolean | 是否允许拖拽,默认true |
esc | Boolean | 是否允许按ESC键关闭对话框,默认true |
id | 字符串 | 设定对话框唯ID,防止重复弹窗,使用art.dialog.list[ID]获取扩展方法 |
zIndex | 数字 | css zIndex |
init | 函数 | 弹出对话框时执行的函数 |
close | 函数 | 对话框关闭前执行的函数,返回false将阻止对话框关闭。也就是说无论何种方式关闭对话框都会执行这个函数。 |
show | Boolean | 是否显示对话框,默认true |
代码示例
art.dialog({ content: document.getElementById('box'), id: 'itxst', ok: function () { alert("你点击了确定按钮"); return true; }, okVal: '确定', cancel: function () { alert("你点击了取消按钮"); return true; }, cancelVal: '取消', button: [ { name: '审批', callback: function () { alert('你审核了流程'); return true; }, focus: true }, { name: '驳回', callback: function () { alert('你驳回了流程'); return true; } }, { name: '无效的按钮', disabled: true } ], width: 300, height: 200, fixed: true, left: 100, top: 100, lock: true, background: '#000', opacity: 0.6, icon: 'error', padding: '5px 10px', time: 6, close: function () { alert('窗口被关闭了') return true; }, init: function () { alert('初始化完成') return true; } });
artDialog方法列表
artDialog提供了关闭、显示、隐藏修改标题设置大小等方法,使用方法如下。
使用方法
//dialog对象 var dlg= art.dialog({ content: '弹出内容支持HTML' }); //修改标题 dlg.title("设置新标题"); //3秒后关闭窗口 setTimeout(function(){dlg.close();},3000);
方法列表
方法名称 | 功能 |
close() | 关闭弹窗 |
hide() | 隐藏弹窗 |
show() | 显示弹窗 |
title(pVal) | 设置修改弹窗标题 dialog对象 .title("标题") |
content(pVal) | 设置弹窗内容支持html或DOMhtml元素对象 |
button(arrs) | arrs数组,arrs=[{ 'name':'按钮名称', 'callback' :'点击按钮后执行的函数', 'focus':'按钮是否是焦点' 'disabled':'按钮是否可用' }] |
follow(ele) | ele为元素对象 |
position(left, top) | 设置定位弹窗 |
size(width, height) | 设置弹窗大小 |
lock() | 锁屏 |
unlock() | 解锁 |
time(pVal) | 定时关闭(单位秒) pVal为数字 |
button方法
//dialog对象 var dlg= art.dialog({content: '弹出内容支持HTML'}); //3秒后设置button var btns=[ { name: '审批', callback: function () { alert('你审核了流程'); return true; }, focus: true }, { name: '驳回', callback: function () { alert('你驳回了流程'); return true; } }, { name: '无效的按钮', disabled: true } ]; setTimeout(function(){ dlg.button(btns); },3000);
follw弹窗跟在某个元素旁方法
//dialog对象 var dlg= art.dialog({content: '弹出内容支持HTML' }); //3秒后执行 setTimeout(function(){ dlg.follow(document.getElementById('btn')); },3000);