layui布局、基本元素、弹出层

本文档详细介绍了LayUI前端框架的使用,包括布局容器(固定宽度和完整宽度)、栅格系统、按钮(链接和POST请求)、搜索框、表单、导航、选项卡、表格和各种组件的示例,如弹出层、日期时间选择、分页和数据表格。内容覆盖了前端开发中常见的交互和数据处理,适合前端开发者参考学习。
摘要由CSDN通过智能技术生成


官方文档:http://layui-doc.pearadmin.com/doc/index.html

一、布局容器

固定宽度,两侧有留白,推荐使用

<div class="layui-container" style="background: navajowhite;height: 300px">
    固定宽度,两侧有留白,推荐使用
</div>

在这里插入图片描述

完整宽度

<div class="layui-fluid" style="background: cyan;height: 300px">
    完整宽度
</div>

二、栅格系统

在这里插入图片描述

列的宽度超过12,则换行
在这里插入图片描述

<div class="layui-container">
      <!-- 定义行 -->
      <div class="layui-row">
          <!-- 定义列 -->
        <div class="layui-col-md9" style="background: deeppink">
          你的内容 9/12
        </div>
        <div class="layui-col-md3" style="background: deepskyblue;">
          你的内容 3/12
        </div>
      </div>
      <div class="layui-row">
        <div class="layui-col-md4" style="background: blue">
          你的内容 4/12
        </div>
        <div class="layui-col-md4" style="background: red;">
          你的内容 4/12
        </div>
      </div>
    </div>

三、按钮

带超链接

<a href="{% url 'vm_info' %}" class="layui-btn">vm信息</a>

在这里插入图片描述

发起POST请求到后端

在这里插入图片描述

<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>

<script src="/static/layui/layui.js" type="text/javascript" charset="utf-8"></script>
	<script>
      layui.use(['form','layer'], function(){   //导入模块
          var form = layui.form;
          var $ = layui.jquery;
          var layer = layui.layer;

          //监听提交
          form.on('submit(formDemo)', function(data){
            $.ajax({
                type: "POST",
                url: "{% url 'add_vm' %}",
                data: data.field,
                success: function (result) {
                    if (result.code == "0") {
                        layer.msg(result.msg, {icon: 6})
                    } else {
                        layer.msg(result.msg, {icon: 5})
                    }
                }
            })
          });
        });
  </script>

搜索框

在这里插入图片描述

<script type="text/html" id="toolbarDemo">
       <input type="text" name="ip" class="layui-input" style="width: 150px; float: left">
       <button class="layui-btn" style="float: left" id="searchBtn">搜索</button>
</script>
<script>
	layui.use(['layer','table'],function () {
	            var $ = layui.jquery;
	            var layer = layui.layer;
	            var table = layui.table;
				
			  $(document).on('click', "#searchBtn",function () {    //解决第二次搜索失效的问题
              var search_var = $('input[name=ip]').val();
              table.reload('vm_table', {
                  where: { //设定异步数据接口的额外参数,任意设
                    searchKey: search_var
                  }
                  ,page: {
                    curr: 1 //重新从第 1 页开始
                  }
                }); //只重载数据
            });
	      })
</script>

四、表单

layui表单基本使用

五、导航

在这里插入图片描述

六、选项卡

在这里插入图片描述

七、表格

在这里插入图片描述

八、组件示例

1. 弹出层

基础参数

type - 基本层类型

在这里插入图片描述

title - 标题

在这里插入图片描述

content - 内容

在这里插入图片描述

关闭弹出层

弹出回调消息,等待1秒后关闭iframe弹出层
//监听提交
form.on('submit(formDemo)', function(data){
  $.ajax({
      type: "POST",
      url: "{% url 'vmApi' %}",
      data: data.field,
      success: function (result) {
          if (result.code == "0") {
              layer.msg(result.msg, {
                  icon: 6,
                  time: 1000,     //等待1秒
                  }, function () {
                      var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                     parent.layer.close(index);       //关闭弹出层
                     window.parent.location.reload();    //刷新父页面
                  }
              );

          } else {
              layer.msg(result.msg, {icon: 5});
          }
      }
  })
});

示例1:弹出信息框

在这里插入图片描述

<script type="text/javascript">
        layui.use(['layer'],function () {
            var layer = layui.layer;

            layer.msg('你愿意做我女朋友吗?',{
                tiem: 0, //不自动关闭
                btn: ['愿意', '死了这条心吧'],  //按钮
                yes: function (index) {
                    layer.close(index);     //关闭当前弹出层
                    layer.msg('晚点遇见你,余生都是你',{
                        icon: 6,    //图标
                    })
                }
            })
        });
    </script>

示例二:弹出页面层

在这里插入图片描述
在这里插入图片描述

<div id="modal" style="display: none">  <!-- display: none不显示出来 -->
        <form class="layui-form " action="">
          <div class="layui-form-item" style="padding: 10px 100px 10px 10px">
            <label class="layui-form-label">名称:</label>
            <div class="layui-input-block">
              <input type="text" name="name" lay-verify="required" lay-reqtext="名称是必填项!" placeholder="命名空间名称" autocomplete="off" class="layui-input">
                <br><br>
              <button type="button" class="layui-btn" lay-submit="" lay-filter="btn" style="margin-left: 25%">立即提交</button>
            </div>
          </div>
        </form>
    </div>
<button class="layui-btn" style="float: left" id="createNS">创建</button>
layui.use(['layer','form'],function () {
            var $ = layui.jquery;
            var layer = layui.layer;
            var form = layui.form;
			//绑定创建按钮事件
            $('#createNS').on('click',function () {
                layer.open({
                    title: '创建命名空间',
                    type: 1,
                    content: $('#modal').html(),
                    success: function (index, layero) {
                        form.on('submit(btn)', function(data) {
                            data = data.field;
                            csrf_token = $('[name="csrfmiddlewaretoken"]').val();
                            data['csrfmiddlewaretoken'] = csrf_token;
                            $.ajax({
                                url: '{% url 'namespace_api' %}',
                                type: 'POST',
                                data: data,
                                dataType: 'json',
                                // 提交成功回调函数
                               success: function (res) {
                                   if(res.code == '0'){
                                       layer.msg(res.msg,{icon:6});
                                       window.location.reload();
                                   } else {
                                       layer.msg(res.msg, {icon:5})
                                   }
                               },
                               // 访问接口失败函数
                               error: function (res) {
                                   layer.msg("服务器接口异常!", {icon:5})
                               }
                            });
                        });
                    }
                })
            });
})

示例三:弹出网址

在这里插入图片描述

在这里插入图片描述

<button type="submit" class="layui-btn" id="addBtn"><i class="layui-icon layui-icon-add-circle"></i> 添加服务器</button>

{% block js %}
    <script>
        layui.use(['layer'],function () {
            var $ = layui.jquery;
            var layer = layui.layer;

            $("#addBtn").click(function () {
                layer.open({
                    type: 2,
                    content: "{% url 'add_vm' %}",
                    area: ['40%','80%'],
                    title: ['添加服务器', 'font-size:28px;'],
                    btn: ['关闭']
                })
            })
        })
    </script>
{% endblock %}

2. 日期与时间选择

在这里插入图片描述

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

    <script type="text/javascript">
        layui.use(['laydate'],function () {
            var laydate = layui.laydate;

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

3. 分页

在这里插入图片描述

<div id="test1"></div>
    <script type="text/javascript">
        layui.use(['laydate','laypage'],function () {
            var laydate = layui.laydate;
            var laypage = layui.laypage;

              laypage.render({
			    elem: 'test1' //注意,这里的 test1 是 ID,不用加 # 号
			    ,count: 50 //数据总数,从服务端得到
			  });
        });
    </script>

4. 数据表格

layui制作数据表格

参考视频:
LayUI【前端框架】从入门到实战-快速搭建后台管理系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值