php layui 框架,快速上手前端框架layui
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相关推荐
- 五款轻量级的web前端框架和H5前端框架
目前主流的web前端框架有:Bootstrap.妹子UI.MUI移动前端框架等之外,国内的一些前端大神和前端大神团队琢磨出了以下几个不错的web前端框架. 第一款前端框架:FrozenUI – 专注于 ...
- 什么是框架(包括前端框架和后端框架)
什么是框架(包括前端框架和后端框架) 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架. ...
- word自定义多级折叠,自动编码标题【论文框架快速上手】
通常word排版很费心,尤其是自动编号很容易乱.今天在写毕设论文框架,发现了一个快速上手的好方法,可以实现:自定义标题格式,多级标题折叠,标题自动编号. Step 1 在空白处列出想要的标题格式,自己 ...
- typescript是框架吗,typescript前端框架
如何在TypeScript中应用像Jquery之类的第三方JavaScript框架 要在TypeScript引用第三方JavaScript库和框架,首先要了解TypeScript的类型定义文件. Ty ...
- Framework7特色的HTML框架WebApp开源前端框架
Framework7混合移动前端框架,轻量级.美观 中文官网地址: http://framework7.taobao.org/ 简单介绍: Framework7 是一个开源免费的框架可以用来开发混合移 ...
- 前端LayUI框架快速上手详解(二)
✍LayUI
- 前端LayUI框架快速上手详解(一)
✍目录总览
- 前端ECharts可视化框架快速上手详解(三)
✍前端ECharts可视化框架完结
- 一文带你快速上手Highcharts框架
前言 前端开发中,数据可视化尤为重要,最有效的方式可以通过图表库进行数据可视化,其中 ECharts.Highcharts 提供了丰富的图表,适用各种各样的功能,ECharts 相对来说基本可满足日常 ...
最新文章
- paraView做动画(终极教程)
- 微服务架构下的身份认证
- Linux不仅仅是开源
- linux里强制覆盖,Linux cp 强制覆盖(示例代码)
- CodeIgniter的伪静态配置
- Ubuntu服务器宕机排查记录
- 面向项目(六)—— 错误(异常)信息的书写
- 苹果手机如何投屏到电脑【无线有线】
- python评分卡3_woe与IV分箱实现
- 基于ssm的电动车实名制挂牌管理系统
- python 有放回随机抽取_Python 随机抽样
- Windows下设备ID的查询
- 【阿里内推一面】记我人生中的处女面
- 部分选主元matlab,列选主元的高斯消去法-matlab
- 8个非常重要的公式,请务必转给你身边的人
- 张一鸣:一个技术男的BAT突围战
- 手机APP开发之MIT Appinventor详细实战教程(十一),地图API的调用与学习,第一部分
- 无聊乱搞:用shell脚本实现windows下cena的评测功能
- 计算机动漫于游戏制作江阴南华,动画实习教案.docx
- css3之实现网红正方体相册弹开动画