Skip to content

Commit d97ead5

Browse files
author
sentsin
committed
2.4
1 parent fcb6a94 commit d97ead5

26 files changed

+1527
-1452
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@ node_modules/
1919
_site/
2020
.gitignore
2121
skin/moon/
22-
src/skin/moon/
23-
git/
22+
src/skin/moon/

CHANGELOG.md

Lines changed: 114 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,125 @@
1-
2-
【1.9.3】2015.05.23
3-
> 修复全局设置皮肤时,部分类型层未起作用的bug。
4-
> 增加skin值:layui-layer-rim,用于给层加边框(类似1.85的风格)
5-
> 样式微调
6-
7-
== 拓展模块 ==
8-
> 修复相册层设定基础参数时,只有首次有效的bug。
9-
10-
11-
【1.9.2】2015.05.08
12-
> 增加关闭动画样式:layui-layer-close
13-
> 优化默认弹出动画
14-
> 优化默认图标,默认的icon支持缩减到0-6(拓展皮肤可自己任意设定支持的数目)
15-
> 优化部分样式
16-
> 机智地修复了一个隐藏得非常深的但是不是太重要的bug。
17-
> 剔除了一些图片。
18-
19-
【1.9.1】2015.04.29
20-
> btn设定多个按钮时,新增对应的回调(支持只有yes和cancel回调),如btn: ['按钮一','按钮二','按钮三'],按钮一和按钮二还是之前的yes和cancel,按钮三,则回调为 btn3: function(){},以此类推。
21-
> 对cancel回调进行了微完善,如果不想关闭,return false即可,如cancel: function(){return false},取消则不会关闭。
22-
> 修复当设置了fix:false时,offset的设置无效的bug
23-
> 为低版本IE回收iframe占用的内存,从而修复偶尔无法获焦的bug
24-
> 修复当设置了btn时,最小化不能愉快地呈现的bug。
25-
> 修复全局设置skin时,某些层类型出现样式异常的bug。
26-
> 修复area设置了百分比时,maxmin参数无效的bug。
27-
> 完善当采用<script>合并路径的方式引入layer,加载了错误的css路径的问题。这种情况需在script标签上加一个自定义属性merge="true",然后通过layer.config({path: 'layer所在目录'})来完成初始化的配置
28-
> 样式微调
29-
30-
【1.9.0】2015.04.19
31-
32-
> 新增laye.open(options),抛弃了之前的$.layer(options)调用方法,目的是与layer mobile保持统一。
33-
> 新增layer.config(options)方法,用于进行全局化配置。除了用于展现弹层的基础参数外,还支持path,用于模块化加载layer时设定目录以便加载所需配件,如layer.config({path: '所在路径', extend: ''});
34-
> 新增content参数,用于统一传入内容。支持string类型和jquery dom对象。如果是type:2,即iframe的url。
35-
> 新增icon参数,用于统一配置对话框和loading的icon类型。
36-
> 新增cancel参数,用于统一取消回调。
37-
> 新增skin参数,用于控制层的不同外观。
38-
> 新增layer.ready(path, callback),用于页面加载时即调用弹层。如果通过layer.config配置了path,此方法的path可以不填,即直接layer.ready(callback);
39-
> 新增tipsMore,用于开启多个tips
40-
> 新增scrollbar,用于设定是否屏蔽浏览器滚动条
41-
42-
> 完善offset参数,除了跟之前一样,[Y坐标, X坐标],还支持传入'rd',表示右下角。另外还支持只传入Y坐标,如offset: '120px'。默认'auto',即垂直水平居中。
43-
> 完善自适应,只要设定了固定高度,任何层都会自适应出现滚动条
44-
> 完善shift,全新的CSS3动画模式,支持传入0-6。
45-
> 完善area,支持传入宽度、[宽,高],默认'auto',表示自适应
46-
> 完善time,传入值改为毫秒,比如2秒关闭,time: 2000
47-
> 完善use方法,修复之前初始调用时部分浏览器一些不稳定因素
48-
> 完善layer.full/layer.min方法,只要传入index即可,不用跟之前一样还要传入area和offset。。。
49-
> layer.alert/confirm/msg/load/tips五种快捷引用重写,更灵活,更易使用。
50-
51-
> 剔除border参数,因为它没有本质的作用,自定义层样式可以通过新增的skin参数
52-
> 剔除dialog的msg,page的html/url/dom,统一采用content
53-
> 剔除dialog和loading的type,统一采用icon
54-
> 剔除dialog中用于配置按钮数的btns,因为可直接通过btn本身来获取。
55-
> 剔除no和close回调,统一采用cancel取代,不过仍然对前两者兼容。
56-
> 剔除layer.closeLoad()、layer.closeTips()方法,统一用layer.closeAll('loading/tips')来对指定类型层进行关闭
57-
> 剔除bgcolor参数,因为自定义的样式一律采用skin参数控制
58-
> 剔除tips一些列子元素,只保留自身,并且支持number和object形,用于设定方向和显示箭头。
59-
> 剔除layer.getIndex方法,获取索引统一用返回值
60-
> 剔除layer.autoArea方法,因为已经采取更好的自适应方案。
61-
62-
> 默认不显示dialog图标,需要显示配置dialog指定的type即可
63-
> 很多不可见只可感受的细节改动
64-
65-
<< 拓展模块 >>
66-
> layer.prompt/layer.tab/layer.photos重写,代码更强健,功能更强大,详见Api。
1+
# v2.4(2016.07.03)
2+
* 兼容jQuery3.0
3+
* 优化tips,可支持配置参数fix(之前是强制fix: false),用于决定是固定的tips还是非固定的。
4+
* min回调可通过return false来设定不执行默认最小化。
5+
* 修复在移动端使用iframe,IOS下无法滑动的bug。
6+
* 细节优化及样式微调
7+
8+
# 【2.3】2016.05.18
9+
* 通过对使用频率的调查,将layer.ext.js(拓展模块)合并到了layer.js,即不用再通过layer.config来加载调用。
10+
* cancel回调不再对第二个按钮有效,只作为右上角关闭按钮触发。并且除yes回调外,所以按钮的回调都可以通过return false来设定不默认关闭。
11+
* 修复相册层,点击任意图片查看,弹出的并非当前图片的bug。
12+
* 修复相册层在移动端显示不佳的bug。
13+
* 修复msg、alert等对话框类型的弹层,在手机使用时未水平居中的bug。
14+
15+
# 【2.2】2015.03.18
16+
* 增加参数id,用于控制弹层唯一标识。如不想重复弹出,可设置该值。
17+
* layer.tips允许出现遮罩,即不对shade参数做限制。
18+
* 对layer.photos方法直接弹出页面图片进行了事件委托,修复了之前由于动态插入的img而无法执行弹出的bug,并且修复了当图片信息改变时,仍然弹出了之前的图片的bug
19+
* layer.photos方法多处代码进行了优化
20+
* 对layer.tab方法新增回调函数change,用于监听选项卡的切换事件,返回一个选项卡索引参数。
21+
* 样式微调
22+
23+
24+
# 【2.1】2015.11.04
25+
* 修复在使用seajs或者requirejs后,layer.ext.js报layer未定义的错误。
26+
* 修复弹出层后,回车键无效的bug。
27+
* 修复iframe层的success回调在ie8以下浏览器无效的bug
28+
* 修复只有一张图片时,并且该图片地址异常,不断弹出提示的bug。
29+
* 修复当设定moveEnd回调,即便层关闭,仍然触发该回调的bug
30+
* 即便采用模块加载,layer对象仍然保留全局,原因是layer自有模块需要。
31+
* 优化图标锯齿消的回调除了yes和cancel外,还可用btn1/btn2。 btn2可解决取消遇右上角关闭共用cancel回调的问题。即如果你只需要接受取消的回调,可以使用 btn2: function(){}
32+
33+
34+
35+
# 【2.0】2015.09.01
36+
* 全新的默认皮肤
37+
* 修复按住Enter键时,出现不断弹层的bug。
38+
* 修复模块加载时,layer仍然暴露给了全局的bug。
39+
* 修复拖拽完毕回调moveEnd,在层关闭后拖拽鼠标仍然触发该回调的bug。
40+
* 确认和取消的回调除了yes和cancel外,还可用btn1/btn2。 btn2可解决取消遇右上角关闭共用cancel回调的问题。即如果你只需要接受取消的回调,可以使用 btn2: function(){}
41+
42+
## == 拓展模块 ==
43+
* 修复通过script标签引入layer.ext.js时,出现Cannot read property 'skin' of undefined的报错问题。(虽然我们更推荐用layer.config()方式加载layer.ext.js)。
44+
* 如果相册只有一张图片,则不触发上/下一张。
45+
46+
47+
# 【1.9.3】2015.05.23
48+
* 修复全局设置皮肤时,部分类型层未起作用的bug。
49+
* 增加skin值:layui-layer-rim,用于给层加边框(类似1.85的风格)
50+
* 样式微调
51+
52+
## == 拓展模块 ==
53+
* 修复相册层设定基础参数时,只有首次有效的bug。
54+
55+
56+
# 【1.9.2】2015.05.08
57+
* 增加关闭动画样式:layui-layer-close
58+
* 优化默认弹出动画
59+
* 优化默认图标,默认的icon支持缩减到0-6(拓展皮肤可自己任意设定支持的数目)
60+
* 优化部分样式
61+
* 机智地修复了一个隐藏得非常深的但是不是太重要的bug。
62+
* 剔除了一些图片。
63+
64+
# 【1.9.1】2015.04.29
65+
* btn设定多个按钮时,新增对应的回调(支持只有yes和cancel回调),如btn: ['按钮一','按钮二','按钮三'],按钮一和按钮二还是之前的yes和cancel,按钮三,则回调为 btn3: function(){},以此类推。
66+
* 对cancel回调进行了微完善,如果不想关闭,return false即可,如cancel: function(){return false},取消则不会关闭。
67+
* 修复当设置了fix:false时,offset的设置无效的bug
68+
* 为低版本IE回收iframe占用的内存,从而修复偶尔无法获焦的bug
69+
* 修复当设置了btn时,最小化不能愉快地呈现的bug。
70+
* 修复全局设置skin时,某些层类型出现样式异常的bug。
71+
* 修复area设置了百分比时,maxmin参数无效的bug。
72+
* 完善当采用script标签合并路径的方式引入layer,加载了错误的css路径的问题。这种情况需在script标签上加一个自定义属性merge="true",然后通过layer.config({path: 'layer所在目录'})来完成初始化的配置
73+
* 样式微调
74+
75+
# 【1.9.0】2015.04.19
76+
77+
* 新增laye.open(options),抛弃了之前的$.layer(options)调用方法,目的是与layer mobile保持统一。
78+
* 新增layer.config(options)方法,用于进行全局化配置。除了用于展现弹层的基础参数外,还支持path,用于模块化加载layer时设定目录以便加载所需配件,如layer.config({path: '所在路径', extend: ''});
79+
* 新增content参数,用于统一传入内容。支持string类型和jquery dom对象。如果是type:2,即iframe的url。
80+
* 新增icon参数,用于统一配置对话框和loading的icon类型。
81+
* 新增cancel参数,用于统一取消回调。
82+
* 新增skin参数,用于控制层的不同外观。
83+
* 新增layer.ready(path, callback),用于页面加载时即调用弹层。如果通过layer.config配置了path,此方法的path可以不填,即直接layer.ready(callback);
84+
* 新增tipsMore,用于开启多个tips
85+
* 新增scrollbar,用于设定是否屏蔽浏览器滚动条
86+
87+
* 完善offset参数,除了跟之前一样,[Y坐标, X坐标],还支持传入'rd',表示右下角。另外还支持只传入Y坐标,如offset: '120px'。默认'auto',即垂直水平居中。
88+
* 完善自适应,只要设定了固定高度,任何层都会自适应出现滚动条
89+
* 完善shift,全新的CSS3动画模式,支持传入0-6。
90+
* 完善area,支持传入宽度、[宽,高],默认'auto',表示自适应
91+
* 完善time,传入值改为毫秒,比如2秒关闭,time: 2000
92+
* 完善use方法,修复之前初始调用时部分浏览器一些不稳定因素
93+
* 完善layer.full/layer.min方法,只要传入index即可,不用跟之前一样还要传入area和offset。。。
94+
* layer.alert/confirm/msg/load/tips五种快捷引用重写,更灵活,更易使用。
95+
96+
* 剔除border参数,因为它没有本质的作用,自定义层样式可以通过新增的skin参数
97+
* 剔除dialog的msg,page的html/url/dom,统一采用content
98+
* 剔除dialog和loading的type,统一采用icon
99+
* 剔除dialog中用于配置按钮数的btns,因为可直接通过btn本身来获取。
100+
* 剔除no和close回调,统一采用cancel取代,不过仍然对前两者兼容。
101+
* 剔除layer.closeLoad()、layer.closeTips()方法,统一用layer.closeAll('loading/tips')来对指定类型层进行关闭
102+
* 剔除bgcolor参数,因为自定义的样式一律采用skin参数控制
103+
* 剔除tips一些列子元素,只保留自身,并且支持number和object形,用于设定方向和显示箭头。
104+
* 剔除layer.getIndex方法,获取索引统一用返回值
105+
* 剔除layer.autoArea方法,因为已经采取更好的自适应方案。
106+
107+
* 默认不显示dialog图标,需要显示配置dialog指定的type即可
108+
* 很多不可见只可感受的细节改动
109+
110+
### << 拓展模块 >>
111+
* layer.prompt/layer.tab/layer.photos重写,代码更强健,功能更强大,详见Api。
67112

68113

69114
总之!总之…layer1.9.0有着太多的调整,爱她,就认真去感受她!么么哒
70115

71116
——贤心 2015/4/15
72117

73-
【1.8.5】
118+
# 【1.8.5】
74119
* 新增对title样式的自定义控制
75120
* 修复layer.prompt多行文本,设置默认值无效的bug
76121

77-
【1.8.4】
122+
# 【1.8.4】
78123
* 新增浏览器窗口尺寸改变时的自适应定位
79124
* 新增属性shift,用于配置动画弹出(需要注意的是,之前的layer.shift()方法将在layer1.9遗弃,用shift属性取代)
80125
* 新增方法layer.title(name, index); 用于动态改变层的标题。
@@ -84,7 +129,7 @@
84129
* 放弃layer.ready方法,用jQuery的ready取代。
85130
* 进一步优化内部代码
86131

87-
== 拓展模块 ==
132+
## == 拓展模块 ==
88133
* layer.prompt支持给表单传入默认值,如layer.prompt({val:'默认'}); 新增yes回调函数第二个参数为索引、第三个参数为表单元素。
89134
* 相册层新增tab回调函数,用于切换图片时进行相关操作
90135
* 相册层内部代码优化。

GruntFile.js

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,56 @@
11
module.exports = function(grunt) {
22

3-
// Project configuration.
4-
grunt.initConfig({
5-
pkg: grunt.file.readJSON('package.json'),
6-
7-
//压缩js - layer
8-
uglify: {
9-
options: {
10-
expand: true
11-
},
12-
'layer.js': {
13-
options: {
14-
banner: '/*! layer-v<%= pkg.version %> <%= pkg.description %> License LGPL <%= pkg.homepage %> By <%= pkg.author %> */\n;'
15-
},
16-
src: './src/layer.js',
17-
dest: './layer.js'
18-
},
19-
'layer.ext.js': {
20-
options: {
21-
banner: '/*! layer<%= pkg.description %>拓展类 */\n;'
22-
},
23-
src: './src/extend/layer.ext.js',
24-
dest: './extend/layer.ext.js'
25-
},
26-
'layer.mobile.js': {
27-
options: {
28-
banner: '/*! layer mobile-v<%= pkg.mobile %> <%= pkg.description %>移动版 License LGPL <%= pkg.homepage %>mobile By <%= pkg.author %> */\n;'
29-
},
30-
src: './src/mobile/layer.m.js',
31-
dest: './mobile/layer.m.js'
32-
}
3+
// Project configuration.
4+
grunt.initConfig({
5+
pkg: grunt.file.readJSON('package.json'),
6+
7+
//压缩js - layer
8+
uglify: {
9+
options: {
10+
expand: true
11+
},
12+
'layer.js': {
13+
options: {
14+
banner: '/*! layer-v<%= pkg.version %> <%= pkg.description %> License LGPL <%= pkg.homepage %> By <%= pkg.author %> */\n;'
15+
},
16+
src: './src/layer.js',
17+
dest: './layer.js'
18+
},
19+
'layer.mobile.js': {
20+
options: {
21+
banner: '/*! layer mobile-v<%= pkg.mobile %> <%= pkg.description %>移动版 License LGPL <%= pkg.homepage %>mobile By <%= pkg.author %> */\n;'
3322
},
23+
src: './src/mobile/layer.js',
24+
dest: './mobile/layer.js'
25+
}
26+
},
3427

35-
//压缩css
36-
cssmin: {
37-
options : {
38-
compatibility : 'ie8', //设置兼容模式
39-
noAdvanced : true //取消高级特性
40-
}
41-
,layer: {
42-
files: [{
43-
expand: true,
44-
cwd: './src/skin',
45-
src: ['*.css', '!*.min.css'],
46-
dest: './skin'
47-
}]
48-
}
49-
}
50-
});
28+
//压缩css
29+
cssmin: {
30+
options : {
31+
compatibility : 'ie8', //设置兼容模式
32+
noAdvanced : true //取消高级特性
33+
}
34+
,layer: {
35+
files: [{
36+
expand: true,
37+
cwd: './src/skin',
38+
src: ['*.css', '!*.min.css'],
39+
dest: './skin'
40+
}, {
41+
expand: true,
42+
cwd: './src/mobile/need',
43+
src: ['*.css', '!*.min.css'],
44+
dest: './mobile/need'
45+
}]
46+
}
47+
}
48+
});
5149

52-
grunt.loadNpmTasks('grunt-contrib-uglify');
53-
grunt.loadNpmTasks('grunt-contrib-cssmin');
54-
55-
grunt.registerTask('default', ['uglify', 'cssmin']);
50+
grunt.loadNpmTasks('grunt-contrib-uglify');
51+
grunt.loadNpmTasks('grunt-contrib-cssmin');
52+
53+
grunt.registerTask('default', ['uglify', 'cssmin']);
5654

5755

5856
};

LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
GNU GENERAL PUBLIC LICENSE
22
Version 2, June 1991
3-
Copyright (c) 2015 贤心
3+
Copyright (c) 2016 贤心
44

55
Copyright (C) 1989, 1991 Free Software Foundation, Inc., [http://fsf.org/]
66
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
@@ -337,4 +337,4 @@ This General Public License does not permit incorporating your program into
337337
proprietary programs. If your program is a subroutine library, you may
338338
consider it more useful to permit linking proprietary applications with the
339339
library. If this is what you want to do, use the GNU Lesser General
340-
Public License instead of this License.
340+
Public License instead of this License.

README.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,13 @@ layer是一款近年来口碑非常不错的web弹层组件,她具备全方位
66

77
[文档与演示](http://layer.layui.com/)
88

9-
## 关于1.9
10-
layer历经三年考验,已经清楚地懂得了人们最需要的是什么,因此这一版的核心是做减法,不仅剔除了部分冗余的API,对代码也进行了大量瘦身,比1.8.5减少了将近300行代码,但是这并不意味着功能的削减,事实上,layer已经变得更强大!1.9的使命是告诉大家,选择layer是完全正确的,没有哪个类似组件会如此玩命地维护和改进。应当有理由相信,layer1.9是一个里程碑式的跨进!
11-
129
## 愿景
1310
致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。
1411

1512
## 现状
1613
从两年前初出茅庐,到后来成为小众组件,再发展到今天,已为数以万计的人所熟知。
17-
据不完全统计,截至到2014年5月13号,layer已服务于15万多家web平台。
18-
其中包括:
19-
* [中国联通](http://app.10010.com/)
20-
* [蚂蚁短租](http://www.mayi.com/)
21-
* [phpyun](http://www.phpyun.com/)
22-
* [慕课网](http://www.imooc.com/)
23-
24-
25-
事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。
14+
据不完全统计,截至到2015年09月01号,layer已服务于10万余家web平台。
2615

2716

2817
## 备注
29-
[官网](http://layer.layui.com/)[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)[Say交流](http://say.sentsin.com/home-48.html)
18+
[官网](http://layer.layui.com/)[更新日志](https://github.com/sentsin/layer/blob/2.x/CHANGELOG.md)[社区交流](http://fly.layui.com)

bower.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "layer",
3+
"main": "src/layer.js",
4+
"version": "2.2.0",
5+
"homepage": "https://github.com/sentsin/layer",
6+
"authors": [
7+
"sentsin <xu@sentsin.com>"
8+
],
9+
"description": "弹窗组件",
10+
"moduleType": [
11+
"amd",
12+
"globals"
13+
],
14+
"keywords": [
15+
"layer",
16+
"layui",
17+
"dialog"
18+
],
19+
"license": "LGPL"
20+
}

0 commit comments

Comments
 (0)