jQuery UI
  • [jQuery UI]jQuery UI 教程
  • [jQuery UI]jQuery UI 简介
  • [jQuery UI]jQuery UI 下载
  • [jQuery UI]jQuery UI 使用
  • [jQuery UI]jQuery UI 定制
  • [jQuery UI]jQuery UI 工作原理
  • [jQuery UI]jQuery UI 主题
  • [jQuery UI]jQuery UI ThemeRoller
  • [jQuery UI]jQuery UI CSS 框架 API
  • [jQuery UI]jQuery UI 设计主题
  • [jQuery UI]jQuery UI 部件库(Widget Factory)
  • [jQuery UI]jQuery UI 通过部件库(Widget Factory)扩展小部件
  • [jQuery UI]jQuery UI 小部件(Widget)方法调用
  • [jQuery UI]jQuery UI 为什么使用部件库(Widget Factory)
  • [jQuery UI]jQuery UI 如何使用部件库(Widget Factory)
  • [jQuery UI]jQuery UI 1.10 API 文档
  • [jQuery UI]jQuery UI API 类别 - 特效(Effects)
  • [jQuery UI]jQuery UI API类别 - 特效核心Effects Core
  • [jQuery UI]jQuery UI API 类别 - 交互Interactions
  • [jQuery UI]jQuery UI API 类别 - 方法重载Method Overrides
  • [jQuery UI]jQuery UI API 类别 - 方法Methods
  • [jQuery UI]jQuery UI API 类别 - 选择器Selectors
  • [jQuery UI]jQuery UI API 类别 - 主题Theming
  • [jQuery UI]jQuery UI API 类别 - UI 核心UI Core
  • [jQuery UI]jQuery UI API 类别 - 实用工具Utilities
  • [jQuery UI]jQuery UI API 类别 - 小部件Widgets
  • [jQuery UI]jQuery UI 实例
  • [jQuery UI]jQuery UI 实例 - 拖动Draggable
  • [jQuery UI]jQuery UI 实例 - 放置Droppable
  • [jQuery UI]jQuery UI 实例 - 缩放Resizable
  • [jQuery UI]jQuery UI 实例 - 选择Selectable
  • [jQuery UI]jQuery UI 实例 - 排序Sortable
  • [jQuery UI]jQuery UI 实例 - 折叠面板Accordion
  • [jQuery UI]jQuery UI 实例 - 自动完成Autocomplete
  • [jQuery UI]jQuery UI 实例 - 按钮Button
  • [jQuery UI]jQuery UI 实例 - 日期选择器Datepicker
  • [jQuery UI]jQuery UI 实例 - 对话框Dialog
  • [jQuery UI]jQuery UI 实例 - 菜单Menu
  • [jQuery UI]jQuery UI 实例 - 进度条Progressbar
  • [jQuery UI]jQuery UI 实例 - 滑块Slider
  • [jQuery UI]jQuery UI 实例 - 旋转器Spinner
  • [jQuery UI]jQuery UI 实例 - 标签页Tabs
  • [jQuery UI]jQuery UI 实例 - 工具提示框Tooltip
  • [jQuery UI]jQuery UI 实例 - 特效Effect
  • [jQuery UI]jQuery UI 实例 - 显示Show
  • [jQuery UI]jQuery UI 实例 - 隐藏Hide
  • [jQuery UI]jQuery UI 实例 - 切换Toggle
  • [jQuery UI]jQuery UI 实例 - 添加Class-Add Class
  • [jQuery UI]jQuery UI 实例 - 移除 Class-Remove Class
  • [jQuery UI]jQuery UI 实例 - 切换Class-Toggle Class
  • [jQuery UI]jQuery UI 实例 - 转换Class-Switch Class
  • [jQuery UI]jQuery UI 实例 - 颜色动画Color Animation
  • [jQuery UI]jQuery UI 实例 - 定位Position
  • [jQuery UI]jQuery UI 实例 - 部件库Widget Factory
  • 直达腾讯云服务器
    腾讯云服务器,数据库,短信等热销产品限量秒杀;新购爆款3折起;
    腾讯云数据库MySQL入门机型仅12元/月
    腾讯云云服务器新购特惠,最低2折起,1核1G3年仅794.73元,即0.73元/日。
    腾讯云国际顶级CA机构SSL证书8.8折,云解析买一年最高送半年!
    腾讯云为数百万企业和开发者提供安全、稳定的云服务器、云数据库、CDN等云服务
    腾讯云服务器安全可靠高性能,多种配置供您选择
    腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
    阿里云服务器入口
    180天免费用腾讯云服务器马上领取
    您当前位置:狗鱼MySQL教程 >> javaScript >> jQuery UI >> jQuery UI 实例 - 标签页Tabs
    jQuery UI 实例 - 标签页(Tabs)
    更新日期: 2017年07月21日 来源: 本站原创 作者: 佚名 阅读:
    上一篇jQuery UI 实例 - 旋转器Spinner 下一篇:jQuery UI 实例 - 工具提示框Tooltip

    jQuery UI 实例 - 标签页(Tabs)

    一种多面板的单内容区,每个面板与列表中的标题相关。

    如需了解更多有关 tabs 部件的细节,请查看 API 文档 标签页部件(Tabs Widget)。

    默认功能

    点击标签页,切换被划分为不同逻辑部分的内容。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jquery ui 标签页(Tabs) - 默认功能</title>
      <link rel="stylesheet"
     href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs();
      });
      </script>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo </p>
      </div>
      <div id="tabs-2">
        <p>Morbi tincidunt, dui sit amet 
    </p>
      </div>
      <div id="tabs-3">
        <p>Mauris eleifend est et turpis. </p>
        <p>Duis cursus. Maecenas ligula eros, blandit nec, 
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    折叠内容

    点击选中的标签页来切换内容的关闭/打开状态。为了启用这个功能,需要设置 collapsible 选项为 true。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 折叠内容</title>
      <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs({
          collapsible: true
        });
      });
      </script>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <p><strong>再次点击标签页来关闭内容面板。</strong></p>
        <p>Proin elit arcu, rutrum commodo, 
    </p>
      </div>
      <div id="tabs-2">
        <p><strong>再次点击标签页来关闭内容面板。</strong></p>
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, 
    </p>
      </div>
      <div id="tabs-3">
        <p><strong>再次点击标签页来关闭内容面板。</strong></p>
        <p>Duis cursus. Maecenas ligula eros, b
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    通过 Ajax 获取内容

    在标签页链接中设置 href 的值来为标签页通过 Ajax 获取外部的内容。
    当 Ajax 请求在等待响应时,标签页的标签变为 "Loading...",当加载完成后返回常规的标签。

    标签 3 和 4 演示了慢加载和损坏的 AJAX 标签,以及如何处理这些情况下的服务器端的错误。
    请注意,这两个都要求 web 服务器能解释 PHP。它们在文件系统以外无法工作。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 通过 Ajax 获取内容</title>
      <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs({
          beforeLoad: function( event, ui ) {
            ui.jqXHR.error(function() {
              ui.panel.html(
                "不能加载该标签页。如果这不是一个演示。" +
                "我们会尽快修复这个问题。" );
            });
          }
        });
      });
      </script>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">预加载</a></li>
        <li><a href="ajax/content1.html">标签 1</a></li>
        <li><a href="ajax/content2.html">标签 2</a></li>
        <li><a href="ajax/content3-slow.php">标签 3 (慢的)</a></li>
        <li><a href="ajax/content4-broken.php">标签 4 (损坏的)</a></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo,
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    当鼠标悬停时打开

    通过 event 选项设置当鼠标悬停时切换各部分的打开/关闭状态。event 的默认值是 "click"。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 当鼠标悬停时打开</title>
      <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs({
          event: "mouseover"
        });
      });
      </script>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo, 
    </p>
      </div>
      <div id="tabs-2">
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, 
    </p>
      </div>
      <div id="tabs-3">
        <p>Mauris eleifend est et turpis. Duis id erat.
    </p>
        <p>Duis cursus. Maecenas
    magna. Nullam ac lacus. Nulla facilisi. 
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    简单的操作

    简单的标签页添加和移除。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 简单的操作</title>
      <link rel="stylesheet"
     href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <style>
      #dialog label, #dialog input { display:block; }
      #dialog label { margin-top: 0.5em; }
      #dialog input, #dialog textarea { width: 95%; }
      #tabs { margin-top: 1em; }
      #tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
      #add_tab { cursor: pointer; }
      </style>
      <script>
      $(function() {
        var tabTitle = $( "#tab_title" ),
          tabContent = $( "#tab_content" ),
          tabTemplate = "<li><a href='#{href}'>#{label}</a> 
    <span class='ui-icon ui-icon-close' role='presentation'>Remove Tab</span></li>",
          tabCounter = 2;
     
        var tabs = $( "#tabs" ).tabs();
     
        // 模态对话框的初始化:自定义按钮和一个重置内部表单的 "close" 回调
        var dialog = $( "#dialog" ).dialog({
          autoOpen: false,
          modal: true,
          buttons: {
            Add: function() {
              addTab();
              $( this ).dialog( "close" );
            },
            Cancel: function() {
              $( this ).dialog( "close" );
            }
          },
          close: function() {
            form[ 0 ].reset();
          }
        });
     
        // addTab 表单:当提交时调用 addTab 函数,并关闭对话框
        var form = dialog.find( "form" ).submit(function( event ) {
          addTab();
          dialog.dialog( "close" );
          event.preventDefault();
        });
     
        // 实际的 addTab 函数:使用上面表单的输入添加新的标签页
        function addTab() {
          var label = tabTitle.val() || "Tab " + tabCounter,
            id = "tabs-" + tabCounter,
            li = $( tabTemplate.replace( /#\{href\}/g, "#" + id ).replace( /#\{label\}/g, label ) ),
    
            tabContentHtml = tabContent.val() || "Tab " + tabCounter + " content.";
     
          tabs.find( ".ui-tabs-nav" ).append( li );
          tabs.append( "<div id='" + id + "'><p>" + tabContentHtml + "</p></div>" );
          tabs.tabs( "refresh" );
          tabCounter++;
        }
     
        // addTab 按钮:值打开对话框
        $( "#add_tab" )
          .button()
          .click(function() {
            dialog.dialog( "open" );
          });
     
        // 关闭图标:当点击时移除标签页
        tabs.delegate( "span.ui-icon-close", "click", function() {
          var panelId = $( this ).closest( "li" ).remove().attr( "aria-controls" );
          $( "#" + panelId ).remove();
          tabs.tabs( "refresh" );
        });
     
        tabs.bind( "keyup", function( event ) {
          if ( event.altKey && event.keyCode === $.ui.keyCode.BACKSPACE ) {
    
            var panelId = tabs.find( ".ui-tabs-active" ).remove().attr( "aria-controls" );
            $( "#" + panelId ).remove();
            tabs.tabs( "refresh" );
          }
        });
      });
      </script>
    </head>
    <body>
     
    <div id="dialog" title="Tab data">
      <form>
        <fieldset class="ui-helper-reset">
          <label for="tab_title">标题</label>
          <input type="text" name="tab_title" id="tab_title" value="" 
    class="ui-widget-content ui-corner-all">
          <label for="tab_content">内容</label>
          <textarea name="tab_content" id="tab_content" 
    class="ui-widget-content ui-corner-all"></textarea>
        </fieldset>
      </form>
    </div>
     
    <button id="add_tab">添加标签页</button>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a> 
    <span class="ui-icon ui-icon-close" role="presentation">移除标签页</span></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum 
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    排序(Sortable)

    拖拽上面的标签页来对它们进行重新排序。

    只需要简单地调用 .ui-tabs-nav 元素上的 .sortable(),即可让标签页可排序。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 排序(Sortable)</title>
      <link rel="stylesheet"
     href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        var tabs = $( "#tabs" ).tabs();
        tabs.find( ".ui-tabs-nav" ).sortable({
          axis: "x",
          stop: function() {
            tabs.tabs( "refresh" );
          }
        });
      });
      </script>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo
    </p>
      </div>
      <div id="tabs-2">
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, 
    
    </p>
      </div>
      <div id="tabs-3">
        <p>Mauris eleifend est et turpis. D
    </p>
        <p>Duis cursus. Maecenas ligula eros,
     libero vitae lectus hendrerit hendrerit.</p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    底部标签页

    通过一些额外的 CSS(用于定位的)和 JS(在元素上放置正确的 class),标签页皆可放置在内容的底部。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 底部标签页</title>
      <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs();
     
        // 修改 class
        $( ".tabs-bottom .ui-tabs-nav, .tabs-bottom .ui-tabs-nav > *" )
          .removeClass( "ui-corner-all ui-corner-top" )
          .addClass( "ui-corner-bottom" );
     
        // 移动导航到底部
        $( ".tabs-bottom .ui-tabs-nav" ).appendTo( ".tabs-bottom" );
      });
      </script>
      <style>
      /* 强制一个高度,这样标签页就不会随着内容高度的改变而改变 */
    
      #tabs .tabs-spacer { float: left; height: 200px; }
      .tabs-bottom .ui-tabs-nav { clear: left; padding: 0 .2em .2em .2em; }
      .tabs-bottom .ui-tabs-nav li { 
    top: auto; bottom: 0; margin: 0 .2em 1px 0; border-bottom: auto; border-top: 0; }
    
      .tabs-bottom .ui-tabs-nav li.ui-tabs-active { margin-top: -1px; padding-top: 1px; }
      </style>
    </head>
    <body>
     
    <div id="tabs" class="tabs-bottom">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div class="tabs-spacer"></div>
      <div id="tabs-1">
        <p>Proin elit arcu, rutrum commodo, 
    </p>
      </div>
      <div id="tabs-2">
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, 
    </p>
      </div>
      <div id="tabs-3">
        <p>Mauris eleifend est et turpis. Duis id erat. 
    </p>
        <p>Duis cursus. Maecenas ligula eros, blandit nec, 
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

    垂直的标签页

    点击标签页,切换被划分为不同逻辑部分的内容。

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI 标签页(Tabs) - 垂直的标签页</title>
      <link rel="stylesheet" 
    href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.9.1.js"></script>
      <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
      <script>
      $(function() {
        $( "#tabs" ).tabs().addClass( "ui-tabs-vertical ui-helper-clearfix" );
        $( "#tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );
      });
      </script>
      <style>
      .ui-tabs-vertical { width: 55em; }
      .ui-tabs-vertical .ui-tabs-nav { 
    padding: .2em .1em .2em .2em; float: left; width: 12em; }
    
      .ui-tabs-vertical .ui-tabs-nav li {
     clear: left; width: 100%; border-bottom-width: 1px !important; 
    border-right-width: 0 !important; margin: 0 -1px .2em 0; }
      .ui-tabs-vertical .ui-tabs-nav li a { display:block; }
      .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active {
     padding-bottom: 0; padding-right: .1em; border-right-width: 1px;
     border-right-width: 1px; }
      .ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em;}
      </style>
    </head>
    <body>
     
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
      </ul>
      <div id="tabs-1">
        <h2>内容标题 1</h2>
        <p>Proin elit arcu, rutrum commodo
    .</p>
      </div>
      <div id="tabs-2">
        <h2>内容标题 2</h2>
        <p>Morbi tincidunt, dui sit amet
    </p>
      </div>
      <div id="tabs-3">
        <h2>内容标题 3</h2>
        <p>Mauris eleifend est et turpis. 
    </p>
        <p>Duis cursus. Maecenas ligula eros,
    </p>
      </div>
    </div>
     
     
    </body>
    </html>

     

     

    感觉本站内容不错,读后有收获?

    我要小额赞助,鼓励提供更好的内容教程

    上一篇jQuery UI 实例 - 旋转器Spinner 下一篇:jQuery UI 实例 - 工具提示框Tooltip
    Copyright 2013-2017 Powered by 狗鱼MySQL教程,All Rights Reserved.
    广州相如计算机科技有限有限公司 版权所有 粤ICP备08130661号-4
    售前咨询:020-38667011 手机:13711588918