layui组件实例

组件实例

1、弹出层

1、使用方式

模块加载名称:layer,独立版本:https://layer.layui.com/

第一种作为独立组件使用,在https://layer.layui.com/下载组件包,在需要使用的页面加载1.8以上的jquery的js和layer.js文件

独立使用需要用到Bootstrap的jquery的js文件

<link rel="stylesheet" type="text/css" href="layui-v2.5.7/layui/css/layui.css">
还需要引入jquery的js文件
<script src="layui-v2.5.7/layui/layui.js" type="text/javascript" charset="utf-8"></script>

第二种layui模块化使用

只需要引入layui的css于js文件,在script中使用layui,use()加载模块

    <script type="">
        layui.use("layer",function() {
            var layer=layui.layer;
			<!--弹出的文本-->
            layer.msg("你好")
        })

    </script>

2、基础参数

类型:Number,默认:0

layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用*layer.open({type: 1})*方式调用,则type为必填项(信息框除外)

1、 type :0, 弹出的信息框,title:“XXXX”,如果不填,会默认显示“消息”,如果不想显示可一设置为title:“false”, title:[] 可以设置样式

`<script type="">
        layui.use("layer",function() {
            var layer=layui.layer;

            layer.open({
                type :0,
                title:"false",
                title:["?????","color:red"],
                content:"?????"
            });
        })

    </script>

在这里插入图片描述

2、 type :1,弹出文本框

            layer.open({
                type :1,
                title:"false",
                content:"<div style='height: 333px; width: 444px;'>阿伟你又在打游戏哦</div>"
            });

在这里插入图片描述

3、type :2,弹出的是URL

			layer.open({
                type :2,
                title:"",
                content:"https://www.bilibili.com/",area:"500px"
            });

area 宽高

  • content:“https://www.bilibili.com/”,area:“500px” ,宽度为500,高度自适应
  • 也可以使用数组的方式 area:[“1000px”,“800px”]

在这里插入图片描述

4、加载层

             layer.open({
                type :3,
                title:"",
                content:"?????"
            });

5、tips层 在元素旁边弹出

在 id=“sp” 的元素旁边弹出

			layer.open({
                type :4,
                title:"",
                content:["??????","#sp"]
            });

		   <spen id="sp">hanser</spen>

在这里插入图片描述

area - 宽高

类型:String/Array,默认:‘auto’

在默认状态下,layer是宽高都自适应的,但当你只想定义宽度时,你可以area: ‘500px’,高度仍然是自适应的。当你宽高都要定义时,你可以area: [‘500px’, ‘300px’]

icon - 图标。信息框和加载层的私有参数

类型:Number,默认:-1(信息框)/0(加载层)

信息框默认不显示图标。当你想显示图标时,默认层可以传入0-6,如果是加载层,可以传入0-2

layer.alert('阿伟已经死了',{icon:1});

在这里插入图片描述

layer.alert('阿伟已经死了',{icon:2});

在这里插入图片描述

layer.alert('阿伟已经死了',{icon:3});

在这里插入图片描述

layer.alert('阿伟已经死了',{icon:4});

在这里插入图片描述

layer.alert('阿伟已经死了',{icon:5});

在这里插入图片描述

layer.alert('阿伟已经死了',{icon:6});

在这里插入图片描述

layer.load();参数为0-2 为加载时的效果
在这里插入图片描述

3、示例

多次选择退出效果

            layer.msg("你想要退出吗?",{
                <!-- time : 0 表示不会自己消失-->
                time :0,
                <!--两个按钮-->
                btn:["确定退出","我点错了"],
                yes: function(index) {
                    layer.msg("你想要退出吗?",{

                	time :0,
                	btn:["确定退出","我点错了"],
                	yes: function(index) {
                    	layer.msg("你想要退出吗?",{
                		time :0,
                		btn:["确定退出","我点错了"],
                		yes: function(index) {
                   			 layer.close(index);
                   			 layer.msg("好吧,你赢了",{
                       			icon:6,
                       			btn:["要不在考虑下?"]
                   			})
                		}
            		})
                	}
            	})
                }
            });

在这里插入图片描述

layer.msg("这是常用的弹出层")

在这里插入图片描述

 layer.msg("这是会定时关闭的弹出层",{inco : 6});

在这里插入图片描述

 layer.msg("玩命加载中",function() {
                layer.msg("???????");
 });

效果非常多

2、日期与时间选择

layui.laydate

模块加载名称:laydate,独立版本:http://www.layui.com/laydate/

	<div class="layui-inline" style="margin-left: 10%;">
        <input type="text" class="layui-input" id="datel">
    </div>
    
    <script type="text/javascript">
        //加载模块
        layui.use("laydate",function(){
            var laydate=layui.laydate;
            //加载laydate实例
            laydate.render({
                elem:"#datel"
            });
        });
    </script>

在这里插入图片描述

基础参数选项

通过核心方法:laydate.render(options) 来设置基础参数,也可以通过方法:laydate.set(options) 来设定全局基础参数.

elem - 绑定元素

type - 控件选择类型

类型:String,默认值:date

 	<script type="text/javascript">
        //加载模块
        layui.use("laydate",function(){
            var laydate=layui.laydate;
            //加载laydate实例
            laydate.render({
                elem:"#datel"   //日期选择器
            });

            laydate.render({
                elem:"#date2",
                type:"year"     //年选择器
            });
            laydate.render({
                elem:"#date3",
                type:"month"    //年月选择器
            });
            laydate.render({
                elem:"#date4",
                type:"time"     //时间选择器
            });
            laydate.render({
                elem:"#date5",
                type:"datetime"     //年月日,时分秒
            });
        });
    </script>

在这里插入图片描述

format - 自定义格式

类型:String,默认值:yyyy-MM-dd

通过日期时间各自的格式符和长度,来设定一个你所需要的日期格式。layDate 支持的格式如下:

格式符说明
yyyy年份,至少四位数。如果不足四位,则前面补零
y年份,不限制位数,即不管年份多少位,前面均不补零
MM月份,至少两位数。如果不足两位,则前面补零。
M月份,允许一位数。
dd日期,至少两位数。如果不足两位,则前面补零。
d日期,允许一位数。
HH小时,至少两位数。如果不足两位,则前面补零。
H小时,允许一位数。
mm分钟,至少两位数。如果不足两位,则前面补零。
m分钟,允许一位数。
ss秒数,至少两位数。如果不足两位,则前面补零。
s秒数,允许一位数。
laydate.render({ 
     elem: '#date6'
     ,format: 'yyyy年MM月dd日'  //可任意组合
});

与原本的样式对比:

在这里插入图片描述

value - 初始值

类型:String,默认值:new Date()

支持传入符合format参数设定的日期格式字符,或者 new Date()

//传入符合format格式的字符给初始值
laydate.render({ 
  elem: '#date7'
  ,value: '2018-08-18' //必须遵循format参数设定的格式
});
 
//传入Date对象给初始值
laydate.render({ 
  elem: '#date8'
  ,value: new Date(1534766888000) //参数即为:2018-08-20 20:08:08 的时间戳
});
      

在这里插入图片描述

3、分页

layui.laypage

模块加载名称:laypage ,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染:

 	<div id="page"></div>

    <script>
        //加载laypage模块
        layui.use("laypage",function(){
            var laypage =layui.laypage;

            //加载实例
            laypage.render({
                elem:"page",     //这里不需要加#号,elem绑定的是容器的id属性值,不需要加#
                count:100,       //一般是从服务器获取,这里写死
            })
        })
    </script>

在这里插入图片描述

基础参数

参数选项说明类型默认值
elem指向存放分页的容器,值可以是容器ID、DOM对象。如: 1. elem: ‘id’ 注意:这里不能加 # 号 2. elem: document.getElementById(‘id’)String/Object-
count数据总数。一般通过服务端得到Number-
limit每页显示的条数。laypage将会借助 count 和 limit 计算出分页数。Number10
limits每页条数的选择项。如果 layout 参数开启了 limit,则会出现每页条数的select选择框Array[10, 20, 30, 40, 50]
curr起始页。一般用于刷新类型的跳页以及HASH跳页。如:codelayui.code//开启location.hash的记录laypage.render({ elem: 'test1' ,count: 500 ,curr: location.hash.replace('#!fenye=', '') //获取起始页 ,hash: 'fenye' //自定义hash值});Number1
groups连续出现的页码个数Number5
prev自定义“上一页”的内容,支持传入普通文本和HTMLString上一页
next自定义“下一页”的内容,同上String下一页
first自定义“首页”的内容,同上String1
last自定义“尾页”的内容,同上String总页数值
layout自定义排版。可选值有:count(总条目输区域)、prev(上一页区域)、page(分页区域)、next(下一页区域)、limit(条目选项区域)、refresh(页面刷新区域。注意:layui 2.3.0 新增) 、skip(快捷跳页区域)Array[‘prev’, ‘page’, ‘next’]
theme自定义主题。支持传入:颜色值,或任意普通字符。如: 1. theme: ‘#c00’ 2. theme: ‘xxx’ //将会生成 class=“layui-laypage-xxx” 的CSS类,以便自定义主题String-
hash开启location.hash,并自定义 hash 值。如果开启,在触发分页时,会自动对url追加:#!hash值={curr} 利用这个,可以在页面载入时就定位到指定页String/Booleanfalse
	<script>
        //加载laypage模块
        layui.use("laypage",function(){
            var laypage =layui.laypage;

            //加载实例
            laypage.render({
                elem:"page",     //这里不需要加#号,elem绑定的是容器的id属性值,不需要加#
                count:100,       //总数量,一般是从服务器获取,这里写死
                limit :5,       //表示每页5条
                limits :[5,10,20,30],   //每页条数选择,必须要加上layout
                layout:["prev","page","next","limit","count"],  //自定义的排版
                groups:10 ,     //连续显示的页码数
                prev :"不返回一下看看吗?" ,             //上一页
                next :"不要在点了,已经到最里面了啦",   //下一页
            })
        })
    </script>

在这里插入图片描述

jump - 切换分页的回调

当分页被切换时触发,函数返回两个参数:obj(当前分页的所有选项值)、first(是否首次,一般用于初始加载的判断)

            laypage.render({
                elem: 'page1'
                , count: 70 //数据总数,从服务端得到
                , jump: function (obj, first) {
                    //obj包含了当前分页的所有参数,比如:
                    console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
                    console.log(obj.limit); //得到每页显示的条数

                    //首次不执行
                    if (!first) {
                        //do something
                    }
                }
            });

在控制台上打印当前页,和每页显示的条数

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值