javascript - 打开选项卡的计数 - Jquery

标签 javascript jquery html tabs

您能帮我查一下 div 中已经打开了多少个选项卡吗,因为我必须将打开的选项卡限制为 2 个。如果打开的选项卡计数为 2 并且尝试再添加一个选项卡,则需要发出警报 ('超出允许的最大选项卡数,请先关闭一个选项卡')?

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="keywords" content="jquery,ui,easy,easyui,web">
    <meta name="description" content="easyui help you build your web page easily!">
    <title>jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
    <script>
        function addTab(title, url){


            if ($('#tt').tabs('exists', title)){
                $('#tt').tabs('select', title);
            } else {
                var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';
                $('#tt').tabs('add',{
                    title:title,
                    content:content,
                    closable:true
                });
            }
        }
    </script>
</head>
<body>
    <div style="margin-bottom:10px">
        <a href="#" class="easyui-linkbutton" onclick="addTab('google','http://www.google.com')">google</a>
        <a href="#" class="easyui-linkbutton" onclick="addTab('jquery','http://jquery.com/')">jquery</a>
        <a href="#" class="easyui-linkbutton" onclick="addTab('easyui','http://yahoo.com')">easyui</a>
    </div>
    <div id="tt" class="easyui-tabs" style="width:400px;height:250px;">
        <div title="Home">
        </div>
    </div>
</body>
</html>

最佳答案

尚不清楚主页选项卡是否算作 2 个允许的选项卡之一,但这将满足您的需要,只需根据需要更改 (count > 2) 即可。

$('[data-title]').click(function() {
  var $this = $(this);
  var title = $this.data('title');
  var url = $this.data('url');
  var count = $('#tt .panel').length;
  var $container = $('#tt');
  if ($container.tabs('exists', title)) $container.tabs('select', title);
  else {
    if (count > 2) {
      alert('maximum allowed tabs exceed, close one tab first');
    } 
    else {
      var content = '<iframe scrolling="auto" frameborder="0"  src="' + url + '" style="width:100%;height:100%;"></iframe>';
      $container.tabs('add', {
        title: title,
        content: content,
        closable: true
      });
    }
  }
});
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>

<div style="margin-bottom:10px">
  <a href="#" class="easyui-linkbutton" data-title="google" data-url="http://www.google.com">google</a>
  <a href="#" class="easyui-linkbutton" data-title="jquery" data-url="http://jquery.com/">jquery</a>
  <a href="#" class="easyui-linkbutton" data-title="easyui" data-url="http://yahoo.com">easyui</a>
</div>
<div id="tt" class="easyui-tabs" style="width:400px;height:250px;">
  <div title="Home">
  </div>
</div>

关于javascript - 打开选项卡的计数 - Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542525/

相关文章:

html - 在不使用背景图像的情况下制作大子弹

Javascript array.push() 特殊代码

javascript - 火狐浏览器中的 "TypeError: Argument 1 of ... is not a finite floating-point value"

javascript - 查找文档,然后在数组中查找条目并将其从数组中删除

javascript - 无法更改正文背景

jquery - 使用 jQuery 调用 CSS 动画

javascript - UI5 - 过滤器组合框放置问题

javascript - useLocation 无法识别状态

javascript - 在整个页面中获取元素(即使它不可见)

html - 具有相同线性渐变背景的多个 div 元素看起来不一样