Layui的一点小理解(上)

  首先声明这是个人的一点理解,如有不对之处请指正,以下的例子有在官网上看到的,有的是自己写的。还是老规矩最后会附上官网的,如有不明白之处,请查看文档或留言。

  既然说Layui,当然要简单的介绍以下什么是layui啊!下面是官方的解释:

Layui 是一款采用自身模块规范编写的国产前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到API的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui还很年轻,首个版本发布于2016年金秋,她区别于那些基于MVVM底层的UI框架,却并非逆道而行,而是信奉返璞归真之道,准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互、从这里信手拈来。

Layui兼容除IE6/7以外的全部浏览器,并且多数结构支持响应式

其实说的简单点就是他是国产的,极其简单的一个框架。下面将会介绍几个简单的功能。及自己的心得。

  他的引用是非常简单的,我选择的是在页面中直接引用下载下来的文件,只要引用CSS文件和JS文件即可。

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

路径请自行更改。其中引用的js需要说明一下,我现在引用的是全部的JS,也就是各个模块都有,不用单独的去选择。在官网下载的文件中有个JS的文件夹,里面有各个模块的JS,如果你只是应用了layui 的一个或少数几个模块,可以自己单独引入!请看一下代码:

<script>
    //这个script需要写在你用layui的js之后
    layui.use(['layer', 'laypage', 'element'], function () {//这里面layui.use()是必须的,你要调用人家的东西,一定要遵守人家的规则;其中有两个参数,第一个是你要调用的模块,其中你调用的模块必须是你上面引用
        //js中有的,如果你很懒,就和我一样,直接调用全部封装好的JS

    });
</script>

可以看到我总共调用了三个模块,所以我要把它写在数组中,如果你仅仅是调用了一个模块,那么你可以不用数组,直接用引号引起来就可以了。而后咱们要写的代码就要写在function里面了。

layui.use(['layer', 'laypage', 'element'], function() {
    var layer = layui.layer,
        laypage = layui.laypage,
        element = layui.element();
         //向世界问个好
        layer.msg('Hello World');
        //监听Tab切换
        element.on('tab(demo)', function(data) {
            layer.msg('切换了:' + this.innerHTML);
        });
        //分页
        laypage({
            cont: 'pageDemo' //分页容器的id
                        ,
            pages: 12 //总页数
                        ,
            skin: '#008cee' //自定义选中色值
                        ,
            skip: true //开启跳页
                        ,
            jump: function(obj, first) {
                if(!first) {
                   layer.msg(JSON.stringify(obj.curr));
                }
            }
         });  
});   

这里主要是实现的三个功能,一个是弹窗提示,另外两个是监听tab切换和分页功能!其中的参数的作用在代码中已经标注,这里就不做详细的介绍了。

  还有就是一个alert功能的弹窗,我把它封装成了一个函数。

function alert1() {
  layer.open({
    skin: 'demo-class',
    type: 1,//加上这句话才能点击多次的时候有效,否则第二次点击的时候不能正确的弹出
    area: ["300px", "200px"],//弹窗的大小
    content: $('#img'),
    //btnAlign: 'c'//控制下面两个按钮显示的位置
    title: "这是弹出框的标题",
    //btn: ['确定', '取消'],//这是弹出框的按钮
    shadeClose: true,//点击遮罩层同样能关闭弹窗
    yes: function (index, layero) {
      //按钮【按钮一】的回调

      console.log(JSON.stringify(layero))
      layer.close(index);//点击确定之后,需要这句话才能关闭
    },
    btn2: function (index, layero) {
      //按钮【按钮二】的回调
      console.log(JSON.stringify(layero))

      //return false 开启该代码可禁止点击该按钮关闭
    },
    btn3: function (index, layero) {
      //按钮【按钮三】的回调

      //return false 开启该代码可禁止点击该按钮关闭
    },
    cancel: function () {
      //右上角关闭回调

      //return false 开启该代码可禁止点击该按钮关闭
    }
  });
}

你需要在你需要的地方调起函数就可以了。

介绍了这么多,发现少了一个地方就是HTML文档,所以就直接把所有的源码直接贴在下面,只要复制到本地,并且修改一下路径就可以了!

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>layui在线调试</title>
    <link rel="stylesheet" href="./css/layui.css" media="all">
    <style>
        body {
            margin: 10px;
        }

        body .demo-class .layui-layer-title {
            background: #c00;
            color: #fff;
            border: none;
        }

        body .demo-class .layui-layer-btn {
            border-top: 1px solid #E9E7E7
        }

        body .demo-class .layui-layer-btn a {
            background: #333;
        }

        body .demo-class .layui-layer-btn .layui-layer-btn1 {
            background: #999;
        }
    </style>
</head>

<body>
    <img id="img" style="display: none;" src="images/face/70.gif">
    <blockquote class="layui-elem-quote">
        温馨提示:如果最左侧的导航的高度超出了你的屏幕,你可以将鼠标移入导航区域,然后滑动鼠标滚轮即可
    </blockquote>

    <div class="layui-tab layui-tab-card" lay-filter="demo" style="height: 300px;">
        <ul class="layui-tab-title">
            <li class="layui-this">演示说明</li>
            <li>标题一</li>
            <li>标题二</li>
            <li>标题三</li>
        </ul>
        <div class="layui-tab-content">
            <div class="layui-tab-item layui-show">
                在这里,你将以最直观的形式体验Layui!在编辑器中可以执行layui相关的一切代码。
                <br>你也可以点击左侧导航针对性地试验我们提供的示例。
            </div>
            <div class="layui-tab-item">内容1</div>
            <div class="layui-tab-item">内容2</div>
            <div class="layui-tab-item">内容3</div>
        </div>
    </div>
    <div id="box_02">box_02</div>
    <div id="pageDemo"></div>

    <script src="./layui.js"></script>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script>
        layui.use(['layer', 'laypage', 'element'], function () {
            var layer = layui.layer,
                laypage = layui.laypage,
                element = layui.element();

            //向世界问个好
            layer.msg('Hello World');

            //监听Tab切换
            element.on('tab(demo)', function (data) {
                layer.msg('切换了:' + this.innerHTML);

            });

            //分页
            laypage({
                cont: 'pageDemo' //分页容器的id
                ,
                pages: 12 //总页数
                ,
                skin: '#008cee' //自定义选中色值
                , skip: true //开启跳页
                ,
                jump: function (obj, first) {
                    if (!first) {
                        layer.msg(JSON.stringify(obj.curr));


                    }
                }
            });

            function alert1() {
                layer.open({
                    skin: 'demo-class',
                    type: 1,//加上这句话才能点击多次的时候有效,否则第二次点击的时候不能正确的弹出
                    area: ["300px", "200px"],//弹窗的大小
                    content: $('#img'),
                    //btnAlign: 'c'//控制下面两个按钮显示的位置
                    title: "这是弹出框的标题",
                    //btn: ['确定', '取消'],//这是弹出框的按钮
                    shadeClose: true,//点击遮罩层同样能关闭弹窗
                    yes: function (index, layero) {
                        //按钮【按钮一】的回调

                        console.log(JSON.stringify(layero))
                        layer.close(index);//点击确定之后,需要这句话才能关闭
                    },
                    btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        console.log(JSON.stringify(layero))

                        //return false 开启该代码可禁止点击该按钮关闭
                    },
                    btn3: function (index, layero) {
                        //按钮【按钮三】的回调

                        //return false 开启该代码可禁止点击该按钮关闭
                    },
                    cancel: function () {
                        //右上角关闭回调

                        //return false 开启该代码可禁止点击该按钮关闭
                    }
                });
            }
            $('#box_02').click(function () {
                alert1();
            })
        });
    </script>
</body>
</html>

  如果你还嫌麻烦,那么请下载我的百度网盘,直接下载解压,然后再浏览器直接查看效果就可以了!

点这里

密码:wza4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值