JS实现简单的tab切换选项卡效果

JS实现简单的tab切换选项卡效果,可以通过以下步骤实现:

1. 编写HTML结构

首先,需要在HTML中编写出选项卡的结构,例如:

<ul class="tab-nav">
  <li class="active">选项卡1</li>
  <li>选项卡2</li>
  <li>选项卡3</li>
</ul>
<div class="tab-content">
  <div class="tab-panel active">内容1</div>
  <div class="tab-panel">内容2</div>
  <div class="tab-panel">内容3</div>
</div>

其中,.tab-nav是选项卡的导航菜单,.tab-content是选项卡的内容容器,.active表示默认选中状态。

2. 编写CSS样式

为了让选项卡具有好看的外观,需要编写CSS样式,例如:

.tab-nav li {
  display: inline-block;
  cursor: pointer;
  padding: 10px 20px;
  border: 1px solid #ccc;
}

.tab-nav li.active {
  background-color: #fff;
  border-bottom: none;
}

.tab-content .tab-panel {
  display: none;
  padding: 20px;
}

.tab-content .tab-panel.active {
  display: block;
}

其中,.tab-nav li表示选项卡导航菜单的样式,.tab-nav li.active表示当前选中的选项卡的样式,.tab-content .tab-panel表示选项卡内容的样式,.tab-content .tab-panel.active表示当前选中的选项卡内容的样式。

3. 编写JS代码

最后,需要编写JS代码来实现选项卡的切换效果,例如:

var navItems = document.querySelectorAll('.tab-nav li');
var tabPanels = document.querySelectorAll('.tab-content .tab-panel');

function switchTab(index) {
  // 先将所有选项卡和内容去掉active类
  for (var i = 0; i < navItems.length; i++) {
    navItems[i].classList.remove('active');
    tabPanels[i].classList.remove('active');
  }
  // 再将当前选项卡和内容添加active类
  navItems[index].classList.add('active');
  tabPanels[index].classList.add('active');
}

// 给选项卡添加点击事件
for (var i = 0; i < navItems.length; i++) {
  navItems[i].addEventListener('click', function() {
    // 获取当前选项卡的索引
    var index = Array.prototype.indexOf.call(navItems, this);
    switchTab(index);
  });
}

// 默认选中第一个选项卡
switchTab(0);

在这段代码中,首先通过querySelectorAll获取选项卡导航菜单和选项卡内容,然后定义了一个switchTab函数用于切换选项卡,接着给所有选项卡添加点击事件,点击时调用switchTab函数切换选项卡,最后通过switchTab(0)将第一个选项卡设为默认选中状态。

示例说明

示例1:简单的选项卡切换

这是一个简单的选项卡切换示例,只有3个选项卡,没有任何动态效果。

参考代码:https://codepen.io/anon/pen/wXEKoW

示例2:带有动态效果的选项卡

这是一个带有动态效果的选项卡示例,当鼠标移入选项卡时,选项卡会有缓慢滑动的效果。

参考代码:https://codepen.io/anon/pen/MOgQmy

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现简单的tab切换选项卡效果 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQuery slideToggle()方法

    当你想在一个网页上实现一个可交互的折叠效果时,jQuery提供了slideToggle()方法来实现这个功能。slideToggle()方法可以让元素在展开和收起之间切换,并自动适配高度。 以下是使用slideToggle()方法的完整攻略: 什么是slideToggle()方法? slideToggle()方法是一个jQuery函数,它可以让元素在展开和收…

    jquery 2023年5月12日
    00
  • jQuery增加、删除及修改select option的方法

    jQuery是一种快速的、小型的JavaScript库,设计和开发的目的是使HTML文档遍历和操作更加方便、快捷。下面我们将介绍如何使用jQuery对select控件的option进行增加、删除和修改。 插入option元素 使用jQuery的append()方法可以向select添加新的option元素。例如,以下代码将向id为“mySelect”的sel…

    jquery 2023年5月28日
    00
  • 浅谈jQuery中setInterval()方法

    浅谈jQuery中setInterval()方法 什么是setInterval()方法 setInterval()方法是jQuery中的定时器函数,用于在指定的时间间隔内重复执行一个函数。该方法可以用于实现动画效果、轮播图、定时获取数据等场景。 语法: var intervalId = setInterval(fn, delay); intervalId:计…

    jquery 2023年5月28日
    00
  • 如何使用jQuery Mobile创建一个月份输入

    下面是使用jQuery Mobile创建一个月份输入的完整攻略: 1. 引入jQuery Mobile库 在HTML页面中,需要先引入jQuery和jQuery Mobile的库文件,可以通过以下方式实现: <!DOCTYPE html> <html> <head> <meta charset="utf-8…

    jquery 2023年5月12日
    00
  • jQuery对指定元素中指定字符串进行替换的方法

    要使用jQuery对指定元素中指定字符串进行替换,有以下几个步骤: 步骤一:选择元素 首先需要使用jQuery选择器来选定要进行替换的元素,比如使用class选择器选中class为”content”的元素,代码如下: var ele = $(".content"); 步骤二:获取元素内容 接下来需要获取元素中的文本内容,使用text()方…

    jquery 2023年5月28日
    00
  • jQWidgets jqxFileUpload destroy()方法

    jQWidgets jqxFileUpload destroy() 方法 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包表格等。jqxFileUpload是jQWidgets的一个组件用于实现上传功能。destroy()是jqxFileUpload的一个方法,用于销毁组件。本文将详细介绍`destroy方法,并提供两个示例。…

    jquery 2023年5月9日
    00
  • 浅析jQuery中使用$所引发的问题

    下面是关于“浅析jQuery中使用$所引发的问题”的完整攻略: 一、$的含义 在jQuery中,$是一个函数,作为jQuery的别名,可以快速地找到HTML文档中的元素,返回一个jQuery对象。$可以进行链式调用,也可以传入一个函数,DOM Ready后执行该函数,如下所示: $(document).ready(function() { //Some co…

    jquery 2023年5月28日
    00
  • 如何使用JavaScript/jQuery禁用HTML链接

    当我们需要禁用HTML链接时,可以通过JavaScript或jQuery来实现。 使用JavaScript禁用HTML链接 使用JavaScript禁用HTML链接需要获取所有需要禁用的链接(一般通过class或id来获取),然后对其添加一个click事件。在click事件中调用preventDefault()方法来阻止链接默认跳转行为。 下面是一个示例代码…

    jquery 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部