EasyUI中Tabs标签页的简单使用

博客围绕标签页面板展开,介绍了其场景、效果、属性等内容。标签页面板属性定义在面板组件里,还提及了常用属性和一些附加属性,最后提到了实现相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

效果

属性


tabs
none返回全部的标签页面板(tab panel)。
resizenone调整标签页(tabs)容器的尺寸并做布局。
addoptions添加一个新的标签页面板(tab panel),options 参数是一个配置对象,更多详细信息请参见标签页面板(tab panel)属性。
当添加一个新的标签页面板(tab panel)时,它将被选中。
如需添加一个未选中的标签页面板(tab panel),请记得设置 'selected' 属性为 false。
 
  1. // add a unselected tab panel
  2. $('#tt').tabs('add',{
  3. title: 'new tab',
  4. selected: false
  5. //...
  6. });
closewhich关闭一个标签页面板(tab panel),'which' 参数可以是要被关闭的标签页面板(tab panel)的标题(title)或索引(index)。
getTabwhich获取指定的标签页面板(tab panel),'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。
getTabIndextab获取指定的标签页面板(tab panel)索引。
getSelectednone获取选中的标签页面板(tab panel)。下面的实例演示如何获取选中的标签页面板(tab panel)的索引。
 
  1. var tab = $('#tt').tabs('getSelected');
  2. var index = $('#tt').tabs('getTabIndex',tab);
  3. alert(index);
selectwhich选择一个标签页面板(tab panel),'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。
unselectwhich选择一个标签页面板(tab panel),'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。该方法自版本 1.3.5 起可用。
showHeadernone显示标签页(tabs)头部。该方法自版本 1.3.5 起可用。
hideHeadernone隐藏标签页(tabs)头部。该方法自版本 1.3.5 起可用。
existswhich指示指定的面板是否已存在,'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。
updateparam更新指定的标签页面板(tab panel),param 参数包含两个属性:
tab:被更新的标签页面板(tab panel)。
options:面板(panel)的选项(options)。

代码实例:
 
  1. // update the selected panel with new title and content
  2. var tab = $('#tt').tabs('getSelected'); // get selected panel
  3. $('#tt').tabs('update', {
  4. tab: tab,
  5. options: {
  6. title: 'New Title',
  7. href: 'get_content.php' // the new content URL
  8. }
  9. });
  10.  
  11. // call 'refresh' method for tab panel to update its content
  12. var tab = $('#tt').tabs('getSelected'); // get selected panel
  13. tab.panel('refresh', 'get_content.php');
enableTabwhich启用指定的标签页面板(tab panel),'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。该方法自版本 1.3 起可用。

代码实例:
 
  1. $('#tt').tabs('enableTab', 1); // enable the second tab panel
  2. $('#tt').tabs('enableTab', 'Tab2'); enable the tab panel that has 'Tab2' title
disableTabwhich禁用指定的标签页面板(tab panel),'which' 参数可以是标签页面板(tab panel)的标题(title)或索引(index)。该方法自版本 1.3 起可用。

代码实例:
 
  1. $('#tt').tabs('disableTab', 1); // disable the second tab panel.
scrollBydeltaX通过指定的像素数滚动标签页(tab)头部,负值表示滚动到右边,正值表示滚动到左边。该方法自版本 1.3.2 起可用。

代码实例:
 
  1. // scroll the tab header to left
  2. $('#tt').tabs('scroll', 10);

标签页面板(Tab Panel)

标签页面板(tab panel)属性被定义在面板(panel)组件里,下面是一些常用的属性。

名称类型描述默认值
idstring标签页面板(tab panel)的 id 属性。null
titlestring标签页面板(tab panel)的标题文字。 
contentstring标签页面板(tab panel)的内容。 
hrefstring加载远程内容来填充标签页面板(tab panel)的 URL。null
cacheboolean当设置为 true 时,在设定了有效的 href 特性时缓存这个标签页面板(tab panel)。true
iconClsstring显示在标签页面板(tab panel)标题上的图标的 CSS class。null
widthnumber标签页面板(tab panel)的宽度。auto
heightnumber标签页面板(tab panel)的高度。auto
collapsibleboolean当设置为 true 时,允许标签页面板(tab panel)可折叠。false

一些附加的属性。

名称类型描述默认值
closableboolean当设置为 true 时,标签页面板(tab panel)将显示一个关闭按钮,点击它就能关闭这个标签页面板(tab panel)。false
selectedboolean当设置为 true 时,标签页面板(tab panel)将被选中。false

实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="/easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="/easyui/themes/default/easyui.css">
    <script type="text/javascript" src="/easyui/jquery.min.js"></script>
    <script type="text/javascript" src="/easyui/jquery.easyui.min.js"></script>
</head>
<body>
<div id="tt" class="easyui-tabs" style="width:500px;height:250px;">
    <div title="Tab1" style="padding:20px;display:none;">
        tab1
    </div>
    <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">
        tab2
    </div>
    <div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">
        tab3
    </div>
</div>
</body>
</html>

 

微信小程序中,当焦点进入`<input>`或其他可能导致滚动元素时,由于浏览器的行为,可能会让顶部的导航栏看起来像是被“顶”了上去。这是因为输入框获取焦点后通常会获得滚动区域的优先级,导致整个页面滚动,包括头部导航。 要解决这个问题,你可以尝试以下几种方法: 1. **固定定位** (Fixed Positioning): 给包含导航栏的部分添加样式 `position: fixed;`, 并设置合适的`top`值使其保持在视口上方。这样在用户输入时,导航栏不会随页面滚动。 ```html <view class="header fixed"> <!-- 导航栏内容 --> </view> ``` ```css .fixed { position: fixed; top: 0; /* 添加其他必要的样式 */ } ``` 2. **阻止默认滚动** (Prevent Default Scroll): 当焦点在输入框上时,监听`touchmove`事件并阻止其默认行为,这样可以防止页面整体滚动。 ```javascript Page({ onLoad: function() { this.input = wx.createSelectorQuery().select('#your-input-id').boundingClientRect(); // 其他代码... document.addEventListener('touchmove', e => { if (this.input && !e.targetTouches[0].clientY < this.input.top) { // 检查是否在输入框区域内 e.preventDefault(); } }); }, // ... }) ``` 3. **手动处理滚动** (Manually Handle Scrolling): 创建一个自定义组件,包含输入框和一个用于显示导航栏的区域。当用户离开输入框时,恢复正常的滚动行为。 ```html <!-- 自定义滚动区域 --> <scroll-view :scroll-y='showHeader' @scrolltoupper='hideHeader'> <!-- 输入框和其他内容 --> <input ref="input" /> </scroll-view> <!-- 隐藏/显示导航栏 --> <view class='header' v-if='!showHeader'> <!-- 导航栏内容 --> </view> ``` ```javascript Page({ data: { showHeader: true, }, methods: { hideHeader() { this.showHeader = false; }, // 其他处理输入框聚焦的方法... } }) ``` 应用以上任一策略后,你应该能看到微信小程序在聚焦input框时,顶部导航栏不再被顶上去。然而,请注意,不同的解决方案可能会影响到用户体验,所以在实际项目中选择合适的方法很重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值