Home  >  Article  >  Web Front-end  >  Layui tab effect implementation code sharing

Layui tab effect implementation code sharing

小云云
小云云Original
2018-05-21 09:05:562870browse

This article mainly introduces the implementation code of layui pop-up layer effect in detail. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>选项卡</title>
    <link rel="stylesheet" href="layui/css/layui.css">
  </head>
  <body>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
 <legend>默认风格的Tab</legend>
</fieldset>

<p class="layui-tab">
 <ul class="layui-tab-title">
  <li class="layui-this">网站设置</li>
  <li>用户管理</li>
  <li>权限分配</li>
  <li>商品管理</li>
  <li>订单管理</li>
 </ul>
 <p class="layui-tab-content">
  <p class="layui-tab-item layui-show">
   1. 高度默认自适应,也可以随意固宽。
   <br>2. Tab进行了响应式处理,所以无需担心数量多少。
  </p>
  <p class="layui-tab-item">内容2</p>
  <p class="layui-tab-item">内容3</p>
  <p class="layui-tab-item">内容4</p>
  <p class="layui-tab-item">内容5</p>
 </p>
</p>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>动态操作Tab</legend>
</fieldset>

<p 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>
 <p class="layui-tab-content">
  <p class="layui-tab-item layui-show">内容1</p>
  <p class="layui-tab-item">内容2</p>
  <p class="layui-tab-item">内容3</p>
  <p class="layui-tab-item">内容4</p>
  <p class="layui-tab-item">内容5</p>
 </p>
</p>
<p 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>
</p>

<!-- 通用-970*90 -->
<p>
 <ins class="adsbygoogle" style="display:inline-block;width:970px;height:90px" data-ad-client="ca-pub-6111334333458862" data-ad-slot="6835627838"></ins>
</p>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>Hash地址定位</legend>
</fieldset>
<p class="layui-tab" lay-filter="test">
 <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>
 <p class="layui-tab-content">
  <p class="layui-tab-item layui-show">
   点击该Tab的任一标题,观察地址栏变化,再刷新页面。选项卡将会自动定位到上一次切换的项
  </p>
  <p class="layui-tab-item">内容2</p>
  <p class="layui-tab-item">内容3</p>
  <p class="layui-tab-item">内容4</p>
  <p class="layui-tab-item">内容5</p>
 </p>
</p>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>简洁风格的Tab</legend>
</fieldset>

<p class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
 <ul class="layui-tab-title">
  <li class="layui-this">网站设置</li>
  <li>用户管理</li>
  <li>权限分配</li>
  <li>商品管理</li>
  <li>订单管理</li>
 </ul>
 <p class="layui-tab-content" style="height: 100px;">
  <p class="layui-tab-item layui-show">内容不一样是要有,因为你可以监听tab事件(阅读下文档就是了)</p>
  <p class="layui-tab-item">内容2</p>
  <p class="layui-tab-item">内容3</p>
  <p class="layui-tab-item">内容4</p>
  <p class="layui-tab-item">内容5</p>
 </p>
</p>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>卡片风格的Tab</legend>
</fieldset>

<p class="layui-tab layui-tab-card">
 <ul class="layui-tab-title">
  <li class="layui-this">网站设置</li>
  <li>用户管理</li>
  <li>权限分配</li>
  <li>商品管理</li>
  <li>订单管理</li>
 </ul>
 <p class="layui-tab-content" style="height: 100px;">
  <p class="layui-tab-item layui-show">默认宽度是相对于父元素100%适应的,你也可以固定宽度。</p>
  <p class="layui-tab-item">2</p>
  <p class="layui-tab-item">3</p>
  <p class="layui-tab-item">4</p>
  <p class="layui-tab-item">5</p>
  <p class="layui-tab-item">6</p>
 </p>
</p>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>当Tab数超过一定宽度</legend>
</fieldset>

<p class="layui-tab layui-tab-card" style="width: 290px;">
 <ul class="layui-tab-title">
  <li class="layui-this">网站设置</li>
  <li>用户管理</li>
  <li>权限分配</li>
  <li>商品管理</li>
  <li>订单管理</li>
 </ul>
 <p class="layui-tab-content" style="height: 100px;">
  <p class="layui-tab-item layui-show">
   1. 宽度足够,就不会出现右上图标;宽度不够,就会开启展开功能。
   <br>2. 如果你的宽度是自适应的,Tab会自动判断是否需要展开,并适用于所有风格。
  </p>
  <p class="layui-tab-item">2</p>
  <p class="layui-tab-item">3</p>
  <p class="layui-tab-item">4</p>
  <p class="layui-tab-item">5</p>
  <p class="layui-tab-item">6</p>
 </p>
</p>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
 <legend>带删除功能的Tab</legend>
</fieldset>

<p class="layui-tab layui-tab-card" lay-allowclose="true">
 <ul class="layui-tab-title">
  <li class="layui-this">网站设置</li>
  <li>用户基本管理</li>
  <li>权限分配</li>
  <li>商品管理</li>
  <li>订单管理</li>
 </ul>
 <p class="layui-tab-content" style="height: 150px;">
  <p class="layui-tab-item layui-show">
   1. 我个人比较喜欢卡片风格的,所以你发现又是以卡片的风格举例
   2. 删除功能适用于所有风格
  </p>
  <p class="layui-tab-item">2</p>
  <p class="layui-tab-item">3</p>
  <p class="layui-tab-item">4</p>
  <p class="layui-tab-item">5</p>
  <p class="layui-tab-item">6</p>
 </p>
</p>

<script src="layui/layui.js" charset="utf-8"></script>
<script>
layui.use(&#39;element&#39;, function(){
 var $ = layui.jquery
 ,element = layui.element(); //Tab的切换功能,切换事件监听等,需要依赖element模块

 //触发事件
 var active = {
  tabAdd: function(){
   //新增一个Tab项
   element.tabAdd(&#39;demo&#39;, {
    title: &#39;新选项&#39;+ (Math.random()*1000|0) //用于演示
    ,content: &#39;内容&#39;+ (Math.random()*1000|0)
    ,id: new Date().getTime() //实际使用一般是规定好的id,这里以时间戳模拟下
   })
  }
  ,tabDelete: function(othis){
   //删除指定Tab项
   element.tabDelete(&#39;demo&#39;, &#39;44&#39;); //删除:“商品管理”


   othis.addClass(&#39;layui-btn-disabled&#39;);
  }
  ,tabChange: function(){
   //切换到指定Tab项
   element.tabChange(&#39;demo&#39;, &#39;22&#39;); //切换到:用户管理
  }
 };

 $(&#39;.site-demo-active&#39;).on(&#39;click&#39;, function(){
  var othis = $(this), type = othis.data(&#39;type&#39;);
  active[type] ? active[type].call(this, othis) : &#39;&#39;;
 });

 //Hash地址的定位
 var layid = location.hash.replace(/^#test=/, &#39;&#39;);
 element.tabChange(&#39;test&#39;, layid);

 element.on(&#39;tab(test)&#39;, function(elem){
  location.hash = &#39;test=&#39;+ $(this).attr(&#39;lay-id&#39;);
 });

});
</script>
  </body>
</html>

Rendering:

Related recommendations:

How to make tabs in JS

Jquery plug-in development tab production technology sharing

JS+jQuery example of writing a simple tab

The above is the detailed content of Layui tab effect implementation code sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn