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图片层