layui是前端框架 与组件的关系
layer是弹出层效果组件
layDate日期选择器组件
layIM 即时通信组件
layui
下载地址 (http://www.layui.com)
layer的使用方法
lay是web弹层组件,下载地址http://layer.layui.com/
- 在页面中引入jquery框架(1.8以上)
- 将下载包中的layer文件夹完整复制到项目中
- 引入layer目录中layer.js
- 在需要的地方直接写效果代码
询问弹窗的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<script src="lib/jquery-1.8.3.js"></script>
<script src="layer-v3.1.1/layer/layer.js"></script>
<script>
function a(){
layer.confirm('您是如何看待前端开发?', {
btn: ['重要','奇葩'] //按钮
}, function(){
layer.msg('的确很重要', {icon: 1});
}, function(){
layer.msg('也可以这样', {icon: 2});
});
}
</script>
<body>
<input type="button" value="问你一件事" "a()" />
</body>
</html>
layDate日期选择器
下载地址 https://www.layui.com/laydate/
- 将下载包中的layDate文件夹完整复制到项目中
- 引入laydate目录中的laydate.js
- 根据官网效果代码片段 在需要的地方写代码片段
laydate可以不引jquery
layui的模块化架构的特点
layui地址https://www.layui.com/
layui文档地址https://www.layui.com/doc/
官方介绍:
layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年金秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
layui的使用步骤
- 将下载包中的layui文件夹完整复制到项目中
- 引入layui目录中layui.js
- 引入layui/css目录中的layui.css
声明需要使用的模块和回调函数
官网:
Layui的模块加载采用核心的 layui.use(mods, callback)方法,当你的JS 需要用到Layui模块的时候,我们更推荐你采用预先加载,因为这样可以避免到处写layui.use的麻烦。你应该在最外层如此定义:
/*
Demo1.js
使用Layui的form和upload模块
*/
layui.use(['form', 'upload'], function(){ //如果只加载一个模块,可以不填数组。如:layui.use('form')
var form = layui.form //获取form模块
,upload = layui.upload; //获取upload模块
//监听提交按钮
form.on('submit(test)', function(data){
console.log(data);
});
//实例化一个上传控件
upload({
url: '上传接口url'
,success: function(data){
console.log(data);
}
})
});
如果你有强迫症,你对网站的性能有极致的要求,你并不想预先加载所需要的模块,而是在触发一个动作的时候,才去加载模块,那么,这是允许的。你不用在你的JS最外层去包裹一个大大的 layui.use,你只需要:
/*
Demo2.js
按需加载一个Layui模块
*/
//……
//你的各种JS代码什么的
//……
//下面是在一个事件回调里去加载一个Layui模块
button.addEventListener('click', function(){
layui.use('laytpl', function(laytpl){ //温馨提示:多次调用use并不会重复加载laytpl.js,Layui内部有做模块cache处理。
var html = laytpl('').render({});
console.log(html);
});
});
html示例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="layui-v2.4.5/layui/layui.js"></script>
<script>
layui.use(["layer","form"],function(){
var layer = layui.laye,form=layui.form;
});//加载
</script>
</head>
<body>
</body>
</html>
栅格系统和后台布局有bug
表单样式
需要加载表单form模块
<script>
//Demo
layui.use('form', function(){
var form = layui.form;
//监听提交
form.on('submit(formDemo)', function(data){
layer.msg(JSON.stringify(data.field));
return false;
});
});
</script>
导航模块
需要加载导航element模块
<script>
//注意:导航 依赖 element 模块,否则无法进行功能性操作
layui.use('element', function(){
var element = layui.element;
//…
});
</script>
选项卡
进度条
面板
都需要加载element模块
<script>
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
layui.use('element', function(){
var element = layui.element;
//…
});
</script>