layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。

一、介绍

在使用layui之前,我们先要了解一下layui是什么?我觉得用作者贤心的一句话来概括就好了:为后端程序员设计的前端框架。

更加详细的描述是:这是一个封装了各种css和js、Ajax等等的前端框架,其封装程度之高,有时甚至对程序员来说不大友好。但对于前端技术一般的人来说,layui不失为一个好的工具。

二、开始使用layui

使用方式:下载后导入项目,然后引用即可

先要引用jquery,然后再引用layui.js和layui.css。

为什么一定要本地呢?没有CDN?上面说了,layui封装得太“好”了,程序员的自主性受到限制,这个时候需要修改layui的源码,比如css的样式——这也是layui的正确用法,而不只是简单地使用。

layui的模块:layui是模块化的,包括form,layer,laydate,laypage等等模块,正是这些模块组成了完整的layui。使用layui的时候,需要指明自己使用的模块。

开始使用layui:

layui.use(['mod1', 'mod2'],function(args){

var mo1 = layui.mod1

,mo2 = layui.mod2;

});

三、layui表单

下面以HTML中最常见的form表单来演示layui的使用。

html部分:

注册新账户

邮箱

用户名

密码

重复密码

注册

我已阅读并同意

《隐私条款》

javscript部分:

layui.use(['form'], function(){

var form = layui.form;

//自定义验证规则

form.verify({

pass: [/(.+){6,12}$/, '密码必须6到12位']

,repass:function(value){

var pvalue = $("input[name='password']").val();

if(pvalue!=value){

return "两次输入的密码不一致";

}

}

});

//监听提交

form.on('submit(demo1)', function(data){

var agreeChecked = data.field.agree;

if(agreeChecked!="on"){

msg("未同意隐私条款");

return false;//阻止表单提交

}

});

});

效果图:

四、layui弹出层

下面讲述一下弹出层,弹出可以说是一个很常见的东西了,但基础的HTML/JS只有丑陋的alert("")方法,layui包含了一个叫做layer的弹出层模块。

使用layer的两种方式:一、像上面使用form模块一样,layui.use声明,然后在use后面的function里使用;

二、导入独立的layer模块文件,然后就可以直接使用;

关于第一种方式不予讨论,这里介绍一下第二种方式。

首先,从layer官网下载layer的文件,解压并放入自己的项目下,然后类似这样的形式引入layer.js文件。

Example:function msg(msg){

//墨绿深蓝风

layer.alert(msg, {

title:'消息'

,skin: 'layui-layer-molv' //样式类名

,closeBtn: 0

},function(index){

layer.close(index);//关闭

});

}

效果图:

layer不仅仅可以弹出提示框,还可以做到一些有趣且实用的动态效果,甚至可以加载一个弹出的HTML界面出来。

五、layui文件上传

下面介绍一下layui的文件上传,即upload模块

选择图片

开始上传

注意:支持jpg,png和gif格式,文件大小应小于10MB

layui.use('upload',function(){

var $ = layui.jquery

,upload = layui.upload;

//选完文件后不自动上传

upload.render({

elem: '#headButton'

,url: getRootPath()+'/user/uploadPicture'

,size: 10*1024 //10*1024KB = 10MB

,accept: 'images'

,acceptMime: 'image/jpg,image/png,image/gif'

,auto: false

,bindAction: '#headAddButton'

,done: function(res){

msg(res.msg);

//刷新头像地址

var resUrl = res.url;

if(resUrl!=""){

document.getElementById("userImg").src=getRootPath()+ resUrl;

}

}

});

});

后端(java-spring-controller类中):@Autowired

FileService fileService;

@RequestMapping(path="/uploadPicture",method= {RequestMethod.POST})

@ResponseBody

public Map uploadFile(@RequestParam("file")MultipartFile file,HttpServletRequest request){

Map map = new HashMap();

String path = fileService.uploadImg(file, "head");//service层保存文件

//返回值,必须按照这样写——要符合upload模块的回调接口才行

map.put("code", 0); //0表示成功

map.put("msg","上传成功");

map.put("data", "");

map.put("url", path);

return map;

}

upload上传接口和返回值://上传接口

upload.render({

elem: '#id'

,url: '/api/upload/' //必填项

,method: '' //可选项。HTTP类型,默认post

,data: {} //可选项。额外的参数,如:{id: 123, abc: 'xxx'}

});

//返回值

{

"code": 0

,"msg": ""

,"data": {

"src": "http://cdn.layui.com/123.jpg"

}

}

效果图:

layui的upload模块能够在前端进行配置文件大小、格式、预览,还可以做到批量上传、重传功能。

六、layui分页

在网站中也经常会用到分页,后端的分页是容易实现的,但对于前端来说就不是那么理想了。layui提供了自己的分页模块——laypage。

var element = layui.element

,laypage = layui.laypage;

$.ajax({

url:getRootPath()+'/news/count'

,type:'GET'

,async:true //false表示非异步,即同步,即请求处理完毕后才能返回;

,data:{"page":1, "limit":10}

,dataType:'json'

,success:function(alldata){

var numbers = alldata.count;

//总页数大于页码总数

laypage.render({

elem: 'demo'

,count: numbers//数据总数

,first: '首页'

,last: '尾页'

,jump: function(obj){

$.ajax({

url:getRootPath()+'/news/list'

,type:'GET'

,async:true

,data:{"page":obj.curr, "limit":obj.limit}

,dataType:'json'

,success:function(data){

var shtml = getNewsContentHTML(data);//js处理数据并填充div

document.getElementById("allNewsDiv").innerHTML=shtml;

}

});

}

});

}

});

});

如上,分页跳转的事件是在jump中进行的,在里面编写AJAX请求,通过jump的obj参数获得page和limit参数,然后在请求执行完毕并返回数据后进行处理即可。

七、layui数据表格

表格时常见的功能,但js拼接HTML表格算是一件比较繁琐且容易出错的事情。

查看

编辑

删除

效果图:

更多layui知识请关注layui框架。

php layui 框架,快速上手前端框架layui相关推荐

  1. 五款轻量级的web前端框架和H5前端框架

    目前主流的web前端框架有:Bootstrap.妹子UI.MUI移动前端框架等之外,国内的一些前端大神和前端大神团队琢磨出了以下几个不错的web前端框架. 第一款前端框架:FrozenUI – 专注于 ...

  2. 什么是框架(包括前端框架和后端框架)

    什么是框架(包括前端框架和后端框架) 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架. ...

  3. word自定义多级折叠,自动编码标题【论文框架快速上手】

    通常word排版很费心,尤其是自动编号很容易乱.今天在写毕设论文框架,发现了一个快速上手的好方法,可以实现:自定义标题格式,多级标题折叠,标题自动编号. Step 1 在空白处列出想要的标题格式,自己 ...

  4. typescript是框架吗,typescript前端框架

    如何在TypeScript中应用像Jquery之类的第三方JavaScript框架 要在TypeScript引用第三方JavaScript库和框架,首先要了解TypeScript的类型定义文件. Ty ...

  5. Framework7特色的HTML框架WebApp开源前端框架

    Framework7混合移动前端框架,轻量级.美观 中文官网地址: http://framework7.taobao.org/ 简单介绍: Framework7 是一个开源免费的框架可以用来开发混合移 ...

  6. 前端LayUI框架快速上手详解(二)

    ✍LayUI

  7. 前端LayUI框架快速上手详解(一)

    ✍目录总览

  8. 前端ECharts可视化框架快速上手详解(三)

    ✍前端ECharts可视化框架完结

  9. 一文带你快速上手Highcharts框架

    前言 前端开发中,数据可视化尤为重要,最有效的方式可以通过图表库进行数据可视化,其中 ECharts.Highcharts 提供了丰富的图表,适用各种各样的功能,ECharts 相对来说基本可满足日常 ...

最新文章

  1. paraView做动画(终极教程)
  2. 微服务架构下的身份认证
  3. Linux不仅仅是开源
  4. linux里强制覆盖,Linux cp 强制覆盖(示例代码)
  5. CodeIgniter的伪静态配置
  6. Ubuntu服务器宕机排查记录
  7. 面向项目(六)—— 错误(异常)信息的书写
  8. 苹果手机如何投屏到电脑【无线有线】
  9. python评分卡3_woe与IV分箱实现
  10. 基于ssm的电动车实名制挂牌管理系统
  11. python 有放回随机抽取_Python 随机抽样
  12. Windows下设备ID的查询
  13. 【阿里内推一面】记我人生中的处女面
  14. 部分选主元matlab,列选主元的高斯消去法-matlab
  15. 8个非常重要的公式,请务必转给你身边的人
  16. 张一鸣:一个技术男的BAT突围战
  17. 手机APP开发之MIT Appinventor详细实战教程(十一),地图API的调用与学习,第一部分
  18. 无聊乱搞:用shell脚本实现windows下cena的评测功能
  19. 计算机动漫于游戏制作江阴南华,动画实习教案.docx
  20. css3之实现网红正方体相册弹开动画

热门文章

  1. java 主从表_如何开发主从报表
  2. vs release 调试 路径设置
  3. cv2.dnn读取模型报错
  4. Error: unsupported compiler: 9.3.0
  5. torchvision nms
  6. pytorch maxpool和卷积尺寸问题
  7. resnetv2 测试
  8. faiss简介及示例
  9. 非极大值抑制NMS的python实现
  10. python 目录和文件操作