Maison  >  Article  >  interface Web  >  Layui implémente le partage de code d'effet de tabulation

Layui implémente le partage de code d'effet de tabulation

小云云
小云云original
2018-01-13 10:08:593862parcourir

Cet article présente principalement en détail le code d'implémentation de l'effet de couche contextuelle layui. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

L'exemple dans cet article partage le code spécifique de l'onglet layui pour votre référence. Le contenu spécifique est le suivant


<!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>

Rendu :

Recommandations associées :

jquery pour obtenir un effet de changement d'onglet

Comment faire avec JS Tab

Partage de la technologie de production d'onglets pour le développement de plug-ins jquery

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn