前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ExtJs学习笔记(8)_TabPanel的用法

ExtJs学习笔记(8)_TabPanel的用法

作者头像
菩提树下的杨过
发布2018-01-24 15:36:08
7970
发布2018-01-24 15:36:08
举报

啥也不说了,直接上代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
 <script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
 <script type="text/javascript" src="../ext-all.js"></script> 
 <style type="text/css">
         *{font-size:12px;line-height:130%;} 
         .list {list-style:square;width:500px;padding-left:16px;}
         .list li{padding:2px;font-size:8pt;}
 
         pre {
            font-size:11px; 
 }
 
         .x-tab-panel-body .x-panel-body {
             padding:10px;
 }
 
 /* default loading indicator for ajax calls */
         .loading-indicator {
             font-size:8pt;
             background-image:url('../resources/images/default/grid/loading.gif');
             background-repeat: no-repeat;
             background-position: left;
             padding-left:20px;
 }
 
         .new-tab {
             background-image:url(../examples/feed-viewer/images/new_tab.gif) !important;
 }
 
         .tabs {
             background-image:url( ../examples/desktop/images/tabs.gif ) !important;
 }
 </style>
 <title>Tabs Demo</title>
 </head>
 <body>
 <script type="text/javascript">
     Ext.onReady(function() {
 
 var tabs = new Ext.TabPanel({
             renderTo: Ext.getBody(),
             resizeTabs: true, // turn on tab resizing
             minTabWidth: 115,
             tabWidth: 135,
             enableTabScroll: true,
             width: 600,
             height: 150,
             defaults: { autoScroll: true },
             plugins: new Ext.ux.TabCloseMenu(),
             tbar: [{ text: '新建Tab', iconCls: 'new-tab', handler: addTab}]
 
         });
 
 // tab generation code
  var index = 0;
 while (index < 2) {
             addTab();
         }
 
 function addTab(tab) {
 if (tabs.items.length > 9) {
                 Ext.MessageBox.alert("提示", "最多只能新建10个tab!");
 //tabs.tbar.setVisible(false);
  return false;
             }
             tabs.add({
                 title: 'New Tab ' + (++index),
                 iconCls: 'tabs',
                 html: 'Tab Body ' + (index) ,
                 closable: true
             }).show();
         }
 
     });
 
 
 
 //右键弹出菜单
     Ext.ux.TabCloseMenu = function() {
 var tabs, menu, ctxItem;
 this.init = function(tp) {
             tabs = tp;
             tabs.on('contextmenu', onContextMenu);
         }
 
 function onContextMenu(ts, item, e) {
 if (!menu) { // create context menu on first right click
                 menu = new Ext.menu.Menu([{
                     id: tabs.id + '-close',
                     text: '关闭当前',
                     handler: function() { tabs.remove(ctxItem); }
                 }, {
                     id: tabs.id + '-close-others',
                     text: '关闭其它',
                     handler: function() {
                         tabs.items.each(function(item) {
 if (item.closable && item != ctxItem) {
                                 tabs.remove(item);
                             }
                         });
                     }
 }]);
                 }
                 ctxItem = item;
 var items = menu.items;
 
                 items.get(tabs.id + '-close').setDisabled(!item.closable);               
 
 //                //只剩一个时,禁止关闭
 //                if (tabs.items.length == 1) {                   
 //                    items.get(tabs.id + '-close').setDisabled(true);
 //                }                
 
 var disableOthers = true;
                 tabs.items.each(function() {
 if (this != item && this.closable) {
                         disableOthers = false;
 return false;
                     }
                 });
                 items.get(tabs.id + '-close-others').setDisabled(disableOthers);
                 menu.showAt(e.getPoint());
             }
         };
 </script>
 </body>
 </html>
 

效果图如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-08-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档