Layui之组件的基本使用及案例演示2

简介: Layui之组件的基本使用及案例演示2

二.实用案例👨🏻‍💻

1.标签卡

步骤:

1.1 .参考官方文档(上方已标注)是否有控件/模块,支持完成对应的功能-静态

<div class="layui-tab" lay-filter="demo" lay-allowclose="true">
  <ul class="layui-tab-title">
    <li class="layui-this" lay-id="11">网站设置</li>
    <li lay-id="22">用户管理</li>
    <li lay-id="33">权限分配</li>
    <li lay-id="44">商品管理</li>
    <li lay-id="55">订单管理</li>
  </ul>
  <div class="layui-tab-content">
    <div class="layui-tab-item layui-show">内容1</div>
    <div class="layui-tab-item">内容2</div>
    <div class="layui-tab-item">内容3</div>
    <div class="layui-tab-item">内容4</div>
    <div class="layui-tab-item">内容5</div>
  </div>
</div>
<div class="site-demo-button" style="margin-bottom: 0;">
  <button class="layui-btn site-demo-active" data-type="tabAdd">新增Tab项</button>
  <button class="layui-btn site-demo-active" data-type="tabDelete">删除:商品管理</button>
  <button class="layui-btn site-demo-active" data-type="tabChange">切换到:用户管理</button>
</div>

1.2.将静态选项卡转换成动态选项卡

1.2.1删减后再进行添加Js代码实现将静态选项卡转换成动态选项卡

//新增一个Tab项
function openTab(title,content,id){
  element.tabAdd('demo', {
      title: '新选项'+ (Math.random()*1000|0) //用于演示
      ,content: '内容'+ (Math.random()*1000|0)
      ,id: new Date().getTime() //实际使用一般是规定好的id,这里以时间戳模拟下
    })
}

效果:

1.3.将静态标签名变成实际菜单名

var element,layer,util,$;
layui.use(
['jquery', 'element', 'layer', 'util' ],
function() {
   element = layui.element, layer = layui.layer, util = layui.util, $ = layui.$;
  $
  .ajax({
    url : "permission.action?methodName=menus",
    dataType : 'json',
    success : function(data) {
      console.log(data)
      var htmlStr = '';
      $.each(data,function(i, n) {
            htmlStr += '<li class="layui-nav-item layui-nav-itemed">';
            htmlStr += '<a class="" href="javascript:;">'
                + n.text
                + '</a>';
            if (n.hasChildren) {
              var children = n.children;
                htmlStr += '<dl class="layui-nav-child">';
              $.each(children,function(
                          idx,
                          node) { // 使用 children 进行遍历
                        htmlStr += '<dd><a href="javascript:;" onclick="openTab(\''+node.text+'\',\''+node.attributes.self.url+'\',\''+node.id+'\')">'
                            + node.text
                            + '</a></dd>'; // 生成子节点的HTML字符串
                      });
              htmlStr += '</dl>'; // 注意闭合 <dl> 标签位置
            }
            htmlStr += '</li>'; // 注意闭合 <li> 标签位置
          });
  $("#menu").html(htmlStr);
  element.render('menu');
    }
  })
});

1.4.再次点击的选项卡会选中不会打开新的选项卡

在打开选项卡的基础上做一个判断并做一个切换选项卡的操作

function openTab(title,content,id){
       // 新增一个 tab 项
         var $node = $('li[lay-id="'+id+'"]');
       if($node.length ==0){
         element.tabAdd('demo', {
                title:title  //用于演示
                ,content: content
                ,id: id //实际使用一般是规定好的id,这里以时间戳模拟下
              })
       }
      element.tabChange('demo',id);//切换选项卡
    }

注:

中的demo对应的是

中的demo

在将静态数据变成动态数据时需要将前端代码改写成

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="static/js/index.js"></script>
<%@include file="/common/header.jsp"%>
</head>
<body>
  <div class="layui-layout layui-layout-admin">
    <div class="layui-header">
      <div class="layui-logo layui-hide-xs layui-bg-black">layout
        demo</div>
      <!-- 头部区域(可配合layui 已有的水平导航) -->
      <ul class="layui-nav layui-layout-left">
      </ul>
      <!-- 个人头像及账号操作 -->
      <ul class="layui-nav layui-layout-right">
        <li class="layui-nav-item layui-hide layui-show-md-inline-block">
          <a href="javascript:;"> <img
            src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg"
            class="layui-nav-img"> tester
        </a>
          <dl class="layui-nav-child">
            <dd>
              <a href="">Your Profile</a>
            </dd>
            <dd>
              <a href="">Settings</a>
            </dd>
          </dl>
        </li>
        <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
          <a href="javascript:;"> <i
            class="layui-icon layui-icon-more-vertical"></i>
        </a>
        </li>
      </ul>
    </div>
    <div class="layui-side layui-bg-black">
      <div class="layui-side-scroll">
        <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
        <ul id="menu" class="layui-nav layui-nav-tree" lay-filter="menu">
        </ul>
      </div>
    </div>
    <div class="layui-body">
      <!-- 内容主体区域 -->
<div class="layui-tab" lay-filter="demo" lay-allowclose="true">
  <ul class="layui-tab-title">
    <li class="layui-this" lay-id="11">网站设置</li>
  </ul>
  <div class="layui-tab-content">
    <div class="layui-tab-item layui-show">内容1</div>
    <div class="layui-tab-item">内容2</div>
    <div class="layui-tab-item">内容3</div>
    <div class="layui-tab-item">内容4</div>
    <div class="layui-tab-item">内容5</div>
  </div>
</div>
    </div>
    <div class="layui-footer">
      <!-- 底部固定区域 -->
      底部固定区域
    </div>
  </div>
  <script>
//JS 
  </script>
</body>
</html>

总结:

Layui的组件很多,想要自己的网页功能更加完善,界面更加好看,就需要不断得去学习新的组件,先了解该框架有没有该功能,再参考官方文档,文档中有详细注解,总之,Layui是一款开源框架供我们学习使用还是非常友好的

今天的学习总结就到这里💪💪💪

目录
相关文章
|
前端开发 JavaScript 安全
前端框架Layui实现动态选项卡&iframe使用(附源码)
前端框架Layui实现动态选项卡&iframe使用(附源码)
2393 0
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
530 1
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
3395 0
|
前端开发 JavaScript Java
【Layui】选项卡Tab:完美实现网页内容分类与导航
Layui选项卡是一种基于Layui框架的前端组件,用于创建多个选项卡并在其之间进行切换。Layui是一个轻量级、易用、灵活的前端UI框架,旨在简化前端开发过程。使用Layui选项卡,你可以在页面中创建多个选项卡标签,每个标签对应一个内容区域。用户可以点击选项卡标签来切换显示相应的内容区域。这种方式常用于页面的分组显示或切换不同的功能模块。Layui选项卡提供了丰富的配置选项,包括标签样式、选项卡切换的触发事件、内容区域的布局方式等。它还支持动态添加和删除选项卡,以及自定义选项卡的样式和功能。
|
7月前
|
供应链 安全 API
淘宝API一键同步库存,销量翻倍轻松实现!
在电商竞争激烈的当下,库存管理是提升销量的关键。淘宝开放平台提供API接口,支持一键同步库存,实现线上线下数据实时更新,避免缺货或超卖。本文详解操作步骤,并附Python示例代码,助你轻松掌握自动化库存管理,提升转化率,实现销量翻倍。
452 0
layui表单select框同时支持下拉和输入的解决方案
layui表单select框同时支持下拉和输入的解决方案
989 0
|
消息中间件
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
645 0
|
安全 Windows
搜狗输入法双击输入框崩溃问题
【8月更文挑战第27天】搜狗输入法双击输入框崩溃可能由多种因素造成,包括软件冲突、输入法版本问题、系统故障、设置错误及硬件问题。建议检查并解决潜在冲突软件,更新输入法版本,修复系统文件,调整输入法设置,以及确保硬件正常工作。通过逐步排查,通常可定位并解决问题。
737 0
|
JavaScript 容器
技术经验解读:【详解】提示框(tooltip)的使用
技术经验解读:【详解】提示框(tooltip)的使用
|
前端开发 JavaScript Java
Layui的选项卡及菜单
Layui的选项卡及菜单
479 0

热门文章

最新文章