layer —— 一个简单的jQuery弹出层插件
layer的使用
4.24更新:注意:layer现在有旧版1.8.5版本和新版本3.0版本的,对应引入的JQ也要不同,相对应的JQ引入1.1和3.1,否则JQ会出问题
4.21更新;
解答4-19的问题:采用红色字
4,19日更新问题
在老版本中(1.7)版中遇到的问题;问题补充:准确的说是,在移动端中所出现的问题,
layer.confirm() //在运行时会报错,是什么原因呢?
原因:在移动端中,其实是不支持,layer.alert(),layer.confirm(),layer.msg()等方法的,只支持 layer.open() ;参数根据相关文档去配置就好了;
layer.open({content:'你确定删除吗?',btn:['确定’,'取消']}) //显示的确定在右边,并且调用函数是错的?
原因:移动端本来就是与PC相反的,是为了符合用户习惯。所以在移动端书写时正常书写就好,只有2个按钮时,确定回掉用yes:function(){},取消回掉用no:function(){};有多个按钮时;确定按钮会在最右侧,确定也是用yes:function(){};其他按钮用,btn2:function(){},btn3:fubction(),...
if(!layer.open({content:'你确定删除吗?',btn:['确定’,'取消']})) return false ; //第一次显示正常,第二次就不执行了,直接执行后面的语句,导致内容删除掉?
原因:采用上题的方法就不会出现问题;
改成:
layer.open({ content:'测试', btn: ['确定', '取消'], yes:function(index, layero) { console.log('确定'); }, no:function(index, layero) { //点击取消时,弹出框就没了 } })
简介:web弹层组件;更少的代码展现更强健的功能;永久性提供无偿服务;
使用:
1,下载layer.zip,解压;
2,引入jquery.js和 layer.js;这是一个独立于layui的组件,不需要依赖什么;
3,demo:
<script src="jquery-1.8.2.min.js" type="text/javascript" charset="utf-8"></script> <script src="layer/layer.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript">
//layer.alert('hello world!');
layer.alert('hello', {
icon: 1,
skin: 'layer-ext-moon'
})
</script>
可以看出:只是将单单的alert换成了layer.alert,其他同理;后面可跟参数来设置显示的样式;你以为仅仅只是这样吗,前面只是简单的用法,然并卵;正确的打开方式这..这样子的
layer.open({ type: 1, content: '传入任意的文本或html' })
4,基础参数:
1,(层类型) type: layer提供了5种层类型。可传入的值有:
0(信息框,默认) 包括(alert,confirm,msg)
1(页面层)
2(iframe层)
3(加载层)
4(tips层)
若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外)
layer.open({ type: 1, content: '我是页面层' });
2,(标题) title: 3种类型:String/Array/Boolean,默认:'信息'
3,(内容) content: 3种类型:String/DOM/Array,默认:''
4,(皮肤) skin: 类型:String,默认:''
//单个使用 layer.open({ skin: 'demo-class' }); //全局使用。即所有弹出层都默认采用,但是单个配置skin的优先级更高 layer.config({ skin: 'demo-class' }) //CSS body .demo-class .layui-layer-title{background:#c00; color:#fff; border: none;} body .demo-class .layui-layer-btn{border-top:1px solid #E9E7E7} body .demo-class .layui-layer-btn a{background:#333;} body .demo-class .layui-layer-btn .layui-layer-btn1{background:#999;} … // 加上body是为了保证优先级。你可以借助Chrome调试工具,定义更多样式控制层更多的区域。
扩展:layer皮肤制作说明。
【第一步】:命名文件夹
在layer的skin目录建立一个文件夹,假设您将该文件夹命名为:yourskin
【第二步】:创建样式等文件
在yourskin文件夹下建立一个单独的样式文件,务必命名为:style.css。并且你可能用到的图片也要存放在该文件夹下
【第三步】:书写样式
/*
通过body前缀,是为了确保你皮肤的优先级
你可以通过调试工具重置更多样式
*/
body .layer-ext-yourskin .layui-layer-title{}
body .layui-ext-yourskin .layui-layer-btn{}
body .layui-ext-yourskin .layui-layer-btn a{}
【第四步】:调试
通过全局配置看看你的皮肤定义的如何:
layer.config({
extend: 'myskin/style.css', //加载您的扩展样式
skin: 'layer-ext-yourskin'
});
layer.alert('layer皮肤-Yourskin');
【最后一步】:发布
1. 现在你已经成功制作了一个皮肤了,如果你觉得它很美,你可以共享出更多的人使用。
2. 那么你应该制作一个简单的页面来介绍你的皮肤,提供尽可能简单的使用说明(就像这个:layer.seaning.com)。
3. 然后将你的皮肤主题页网址通过任意渠道发给贤心(比如可以通过邮箱:xu@sentsin.com)
------------------------------------and more-----参考官方文档---------------------------------------------------------
area宽高
offset坐标
icon提示图标
btn提示按钮
btnAlign按钮排列
closeBtn右上关闭
shade遮罩
shadeClose
time自动关闭
id唯一id
anim动画
isOutAnim关闭动画
maxmin最大小化
fixed是否固定
resize是否允许拉伸
resizing正在拉伸
scrollbar屏蔽滚动
maxWidth最大宽
zIndex层叠值
move拖拽元素
moveOut拖出
moveEnd回调
tipsTips参数
tipsMore允许多tips
success弹出后回调
yes确定回调
cancel关闭回调
end销毁后回调
full/min/restore
内置方法
config全局设置
ready就绪
open核心方法
alert弹框
confirm询问
msg提示
load加载
tips吸附
close关闭层
closeAll关闭全部
style
title重置标题
getChildFrame
getFrameIndex
iframeAuto
iframeSrc
setTop多层置顶
full/min/restore
其他内置层
prompt输入层
tab选项卡层
photos图片层