layUI笔记代码版

1、layui

1.安装

将解压的layui 文件夹拷贝到web 目录

2.引入

在jsp中插入这个依赖

  <link rel="stylesheet" href="/layui/css/layui.css">

    <script src="/layui/layui.js"></script>

3.使用

使用时,首先要导入模块

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>开始使用layui</title>
    <link rel="stylesheet" href="/layui/css/layui.css">

    <script src="/layui/layui.js"></script>
</head>
<body>

<!-- 你的HTML代码 -->

<h1>hello layui</h1>
<script>
    //一般直接写在一个js文件中
    //  layui.use 让layui  加载 layer 模块  form 模块
    layui.use(['layer', 'form'], function(){
        var layer = layui.layer
            ,form = layui.form;
        // 土司  串口 tips
        layer.msg('Hello World');
        layer.msg(" 一会放学")
    });
    
</script>
</body>
</html>

4.表格

前端

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>


</head>
<body>


<!--  创建一个空 表格-->
<table id="demo" lay-filter="test"></table>
<script>

    /*  加载表格 模块*/
    layui.use('table', function(){
        // 获取 table 模块
        var table = layui.table;

        //第一个实例
        table.render({
            elem: '#demo'  //   去挂在 id 为 demo 的table
            ,height: 200
            ,toolbar:true// 开启工具栏
            ,url: '/getStudentByPage' //数据接口
            ,page: {
                limit:2//每页显示1条
                ,limits:[1,2,3] //可选每页条数
                ,first: '首页' //首页显示文字,默认显示页号
                ,last: '尾页'
                ,prev: '<em>←</em>' //上一页显示内容,默认显示 > <
                ,next: '<i class="layui-icon layui-icon-next"></i>'
                ,layout:['prev', 'page', 'next','count','limit','skip','refresh'] //自定义分页布局
            }
            ,cols: [[ //表头
                {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
                ,{field: 'name', title: '学生名', width:80}
                ,{field: 'sex', title: '性别', width:80, sort: true}
                ,{field: 'age', title: '年龄', width: 80, sort: true}
                ,{field: 'height', title: '身高', width: 80}
                ,{field: 'birthday', title: '生日', width: 80}
                ,{field:"right",title:"操作",toolbar: '#barDemo'}// 工具栏要绑定 一个模块
            ]]
        });

        //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
        table.on('tool(test)', function(obj){
            var data = obj.data; //获得当前行数据
            //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
            var layEvent = obj.event;
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
            if(layEvent === 'del'){ //删除
                layer.confirm('真的删除行么', function(index){
                    // 向服务端发送删除请求
                    // 此处可以发送ajax
                    obj.del(); //删除对应行(tr)的DOM结构
                    layer.close(index);// 关闭弹窗
                });
            } else if(layEvent === 'edit'){ //编辑
                // 向服务端发送更新请求
                // 同步更新缓存对应的值
                obj.update({
                    name: '赵四',
                    sex:'男',
                    age:18});
              /*  $.ajax({
                    url: '/users/updata',
                    data: {
                        username: 'shine001',
                        city: '北京',
                        sex:'女',
                        score:99},
                    method: 'post',
                    success: function (result) {
                        if (result.status) {
                            table.reload('demo', {});//重新加载数据
                        } else {
                            alert(result.message)
                        }
                        layer.close(index)// 关闭串口
                    }

                })*/
            }
        });



    });
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

</body>
</html>

数据

1.配置pagehelper

    <!-- 配置分页-->
    <!--配置分页  放在最下面-->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>4.1.4</version>
    </dependency>
    
    
        
        <plugins>
    
            <!-- 让mybatis  加载PageHelper -->
            <!-- com.github.pagehelper为PageHelper类所在包名 -->
            <plugin interceptor="com.github.pagehelper.PageHelper">
                <!-- 使用MySQL方言的分页 -->
                <property name="helperDialect" value="mysql"/><!--如果使用mysql,这里value为mysql-->
                <property name="pageSizeZero" value="true"/>
            </plugin>
        </plugins>

处理请求

  @RequestMapping("/getStudentByPage")
    @ResponseBody
    // 接收请求参数 page=98&limit=10  page 当前页  limit分页大小
    public ResponseData getStudentByPage(int page,int limit){
        // 使用分页
        return studentService.findStudentByPage(page,limit);
    }



  @Override
    public ResponseData<List<Student>> findStudentByPage(int pageIndex, int pageSize) {

        // 使用分页
        PageHelper.startPage(pageIndex,pageSize);
        // 查询所有学生 根据分页
        List<Student> studentList =   studentDao.findAllStudent();

        PageInfo pageInfo = new PageInfo(studentList);
        // 获取总条数
        int count = (int) pageInfo.getTotal();



        ResponseData<List<Student>> responseData = new ResponseData<>();

        responseData.setData(studentList);
        responseData.setMsg("ok");
        // 返回正确的数据
        responseData.setCode(0);
        responseData.setCount(count);

        return responseData;
    }

5、导航

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>
</head>
<body>

<ul class="layui-nav layui-nav-tree" lay-filter="">
    <li class="layui-nav-item"><a href="">最新活动</a></li>
    <li class="layui-nav-item layui-this"><a href="">产品</a></li>
    <li class="layui-nav-item"><a href="">大数据</a></li>
    <li class="layui-nav-item">
        <a href="javascript:;">解决方案</a>
        <dl class="layui-nav-child"> <!-- 二级菜单 -->
            <dd><a href="">移动模块</a></dd>
            <dd><a href="">后台模版</a></dd>
            <dd><a href="">电商平台</a></dd>
        </dl>
    </li>
    <li class="layui-nav-item"><a href="">社区</a></li>
</ul>
<script>
    //注意:导航 依赖 element 模块,否则无法进行功能性操作
    layui.use('element', function(){});
</script>

</body>
</html>

6、弹框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


    <script src="/js/jquery-3.3.1.js"></script>
    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>

</head>
<body>

<script>

    function msgClick() {
        // 导入 layer模块
        layui.use(["layer"],function(){
            var layer = layui.layer;
            // layer.msg("hello world!!");
            layer.msg("确定吗?",{btn:["确定!","放弃!"],
                yes:function(i){  // 确定按钮回调
                    layer.close(i);
                    layer.msg("yes!!!")
                },
                btn2:function(i){  // 放弃回调
                    layer.close(i);
                    layer.msg("no!!!")
            }}
            );
        });
    }


    function alterClick() {
        // 导入 layer模块
        layui.use(["layer"],function(){
            var layer = layui.layer;
            //0-6 7种图标  0:warning  1:success  2:error  3:question  4:lock  5:哭脸  6:笑脸
            layer.alert("alert弹框蓝",
                {title:'alert',icon:5 },
                function(){//点击“确定”按钮时的回调
                layer.msg("好滴");
            }
            );
        });
    }

    function confirmClick() {
        // 导入 layer模块
        layui.use(["layer"],function(){
            var layer = layui.layer;
            layer.confirm("hello world~",
                {shade:false,icon:3,btn:["好滴","不行"]},
                function(){

                    layer.msg("好滴!");

                    // 写 ajax

                },
                function(){

                       layer.msg("不行!")

                }
            );
        });


    }

    /**
     * 自定义窗
     */
    function openClick() {
        layui.use(["layer"],function(){
            layer = layui.layer;
            layer.open({
                type:1,// 消息框,没有确定按钮
                title:["hello","padding-left:5px"], // 标题,及标题样式
                content:layui.$("#testmain"), // dom格式
                offset:'rb',//可以在右下角显示
                shade:false //是否遮罩
            });

        });
    }

    /**
     * 更新弹框
     */
    function updateForm() {
        layui.use(["layer"],function(){

            layer.open({
                type: 1 //Page层类型
                ,skin: 'layui-layer-molv'
                ,area: ['380px', '270px']
                ,title: ['编辑书本信息','font-size:18px']
                ,btn: ['确定', '取消']
                ,shadeClose: true
                ,shade: 0 //遮罩透明度
                ,maxmin: true //允许全屏最小化
                ,content:$("#window")  //弹窗路径
                ,success:function(layero,index){ //初始化化串口
                    $('#bid').val('23123');
                    $('#bname').val("一千零一夜");
                    $('#price').val(1000);
                },yes:function(index,layero){

                    alert("确定");
                    layer.close(index);// 关闭窗口
                }
            });
        });
    }
</script>

<!-- 自定义 弹窗内容-->
<div id="testmain" style="display:none;padding:10px; height: 173px; width: 275px;">
    hello world!
    <button> 按钮</button>
</div>
<!-- 自定义窗口form-->
<div class="site-text" style="margin: 5%; display: none" id="window"  target="test123">
    <form class="layui-form" id="book" method="post" lay-filter="example">
        <div class="layui-form-item">
            <label class="layui-form-label">id</label>
            <div class="layui-input-block">
                <input type="text" id="id" name="id" lay-verify="title" autocomplete="off"  class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">name</label>
            <div class="layui-input-block">
                <input type="text" id="name" name="name" lay-verify="title" autocomplete="off" placeholder="请输入名字" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">sex</label>
            <div class="layui-input-block">
                <input type="text" id="sex" name="sex" lay-verify="title" autocomplete="off" placeholder="性别" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">age</label>
            <div class="layui-input-block">
                <input type="number" id="age" name="age" lay-verify="title" autocomplete="off" placeholder="年龄" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">height</label>
            <div class="layui-input-block">
                <input type="number" id="height" name="height" lay-verify="title" autocomplete="off" placeholder="身高" class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">生日</label>
            <!-- layui-input-block 输入框会占满除文字外的整行 -->
            <div class="layui-input-block">
                <input readonly id="birthday" type="text" name="birthday" placeholder="请选择生日日期" autocomplete="off" class="layui-input">
            </div>
        </div>

    </form>
</div>



<button onclick="msgClick()">msg</button>
<button onclick="alterClick()">alert</button>
<button onclick="confirmClick()">confirm</button>
<button onclick="openClick()">open</button>
<button onclick="updateForm()">updateForm</button>

</body>
</html>

7、layDate

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layDate快速使用</title>
    <link rel="stylesheet" href="/layui/css/layui.css">

    <script src="/layui/layui.js"></script>
</head>
<body>

<div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 -->
    <input type="text" class="layui-input" id="test1">
</div>

<script>
    layui.use('laydate', function(){
        var laydate = layui.laydate;

        //执行一个laydate实例
        laydate.render({
            elem: '#test1' //指定元素
        });
    });
</script>
</body>
</html>

文件上传控件,返回的数据必须时json 不能时字符串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script src="/js/jquery-3.3.1.js"></script>
    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>
</head>
<body>

<form class="layui-form layui-form-pane"  method="post">
    <!-- layui-form-item 一个输入项-->
    <div class="layui-form-item">
        <label class="layui-form-label">username</label>
        <!-- layui-input-block 输入框会占满除文字外的整行 -->
        <div class="layui-input-block">
            <input id="birth" type="text" name="username" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button type="button" class="layui-btn" id="test1">
                <i class="layui-icon">&#xe67c;</i>上传图片
            </button>
        </div>
    </div>
</form>

<script>
    layui.use(['upload','layer'], function(){
        var upload = layui.upload;
        //执行实例
        var uploadInst = upload.render({
            elem: '#test1' //绑定元素
            ,url: '/uploadFile' //上传接口
            ,accept:'file' // file代表所有文件,默认是images代表图片
            ,field:'files' // 对应接收的字段
            ,size:100 // 文件最大100kb
            ,done: function(res){
                //上传完毕回调
                layui.layer.msg("ok");
            }
            ,error: function(){
                //请求异常回调
                layui.layer.msg("error");
            }
        });
    });
</script>

</body>
</html>

8、carousel

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/jquery-3.3.1.js"></script>
    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>

</head>
<body>


<div class="layui-carousel" id="test1">
    <div carousel-item style="text-align: center;line-height: 280px">
        <div>条目1</div>
        <div>条目2</div>
        <div>条目5</div>
        <div>条目5</div>
    </div>
</div>
<script>
    /* carousel  */
    layui.use(['carousel'], function(){
        var carousel = layui.carousel;
        //建造实例
        carousel.render({
            elem: '#test1'
            ,width: '100%' //设置容器宽度
            ,arrow: 'always' //始终显示箭头
        });
    });
</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值