手写制作一个tab选项卡

这篇博客详细介绍了如何手写制作一个tab选项卡,包括HTML代码和JavaScript交互实现。通过点击不同的tab按钮,利用jQuery的children()和siblings()方法来切换显示的内容。同时,还展示了点击特定按钮打开认证模态框的功能。

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

手写制作一个tab选项卡:

HTML 代码:

  • 我的认证
  • 实名认证
  • 手机认证
  • 学历认证
  • 视频认证
        @*第二页*@
        <div class="container p-0 pb-" style="display:none">
        </div>
    </div>
    @*第三页*@
    <div class="container p-0 pb-4" style="display:none;">

        <div class="container p-0 pb-4" style="display:none;">

        </div>
    </div>

$(’.tabbtn’).children().click(function () {
//当前操作的元素索引值
var id = $(this).index();
$(’.tabbtn’).children().eq(id).addClass(“in”).siblings().removeClass(“in”);
//当前显示,其他的隐藏。
$(’.tabbox’).children().eq(id).show().siblings().hide();
});
//点击进行认证按钮打开认证模态框(学历认证)
$("#jinxrenz").click(function () {
$("#renzmodal").modal(“show”);
});
得到下图所示tab选项卡:

-------------------所用代码注解-------------
children():取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。
例如:
HTML 代码:

Hello

Hello Again

And Again

jQuery 代码: $("div").children() 结果: [ Hello Again ] Index():搜索匹配的元素,并返回相应元素的索引值,从0开始计数。 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。例如: HTML 代码:
  • foo
  • bar
  • baz
jQuery 代码: $('li').index(document.getElementById('bar')); //1,传递一个DOM对象,返回这个对象在原先集合中的索引位置 $('li').index($('#bar')); //1,传递一个jQuery对象 $('li').index($('li:gt(0)')); //1,传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置 $('#bar').index('li'); //1,传递一个选择器,返回#bar在所有li中的索引位置 $('#bar').index(); //1,不传递参数,返回这个元素在同辈中的索引位置。 addClass():为每个匹配的元素添加指定的类名。 例如: 为匹配的元素加上 'selected' 类 jQuery 代码: $("p").addClass("selected"); $("p").addClass("selected1 selected2") 这个添加了两个类名 removeClass():从所有匹配的元素中删除全部或者指定的类。 从匹配的元素中删除 'selected' 类 jQuery 代码: $("p").removeClass("selected");

Siblings(): 取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。
找到每个div的所有同辈元素。
HTML 代码:

Hello

Hello Again

And Again

jQuery 代码: $("div").siblings() 结果: [

Hello

,

And Again

]
在uni-app中,要自己手写一个选项卡切换组件,你可以按照以下步骤操作: 1. **创建基础结构**: 首先,你需要创建三个或更多的视图(vue组件),每个代表一个选项卡的内容。例如,可以命名为`tab1.vue`, `tab2.vue`, `tab3.vue`。 ```html <!-- tab1.vue --> <template> <view class="tab-item"> <text>Tab 1 Content</text> </view> </template> <!-- tab2.vue 和 tab3.vue 同理 --> ``` 2. **编写母版组件**: 创建一个包含所有选项卡的`tabs.vue`组件,用于管理各个选项卡的显示隐藏。这个组件通常包含一个`v-for`循环来渲染每个选项卡,并维护当前选中的状态。 ```html <!-- tabs.vue --> <template> <div class="tabs-container"> <view v-for="(item, index) in tabs" :key="index" :class="{ active: item.isActive }" @click="selectTab(index)"> <component :is="item.componentName"></component> </view> </div> </template> <script> export default { data() { return { tabs: [ { componentName: 'tab1', isActive: true }, { componentName: 'tab2' }, { componentName: 'tab3' } ] }; }, methods: { selectTab(index) { this.tabs.forEach(tab => (tab.isActive = false)); this.tabs[index].isActive = true; } } }; </script> ``` 3. **应用到页面上**: 将`tabs.vue`引入到你的主页面或者需要选项卡切换的地方,并设置初始激活的标签。 ```html <template> <view> <tabs></tabs> </view> </template> <script> import Tabs from '@/components/Tabs.vue'; export default { components: { Tabs } }; </script> ``` 这只是一个基本的示例,实际项目中可能还需要处理样式、动画以及事件传递等细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值