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日

相关文章

  • jQWidgets jqxDateTimeInput allowKeyboardDelete属性

    以下是关于“jQWidgets jqxDateTimeInput allowKeyboardDelete属性”的完整攻略,包含两个示例说明: 简介 jqxDateTimeInput 控件的 allowKeyboardDelete 属性用于设置是否允许使用键盘删除键删除日期时间输入框中的内容。 完整攻略 以下是 jqxDateTimeInput 控件 allo…

    jquery 2023年5月11日
    00
  • jQuery 如何检查一个元素的存在与否

    在jQuery中,可以使用常用的选择器语法来选择特定的元素,但有时需要检查一个元素是否存在于文档中。本文将介绍使用jQuery检查元素是否存在的方法。 1. 使用 length 属性来检查元素是否存在 在jQuery中,可以通过使用选择器语法来选择一个元素,然后使用 length 属性来检查该元素是否存在。 示例代码: if ($(‘element-sele…

    jquery 2023年5月12日
    00
  • jQuery事件绑定与解除绑定实现方法

    下面我来详细讲解一下“jQuery事件绑定与解除绑定实现方法”的完整攻略。 一、概述 在 jQuery 中,事件绑定是 Web 开发中常见的一种操作。jQuery 提供了一系列的事件方法,比如 click()、hover()、keydown() 等,用于绑定事件。同时,也提供了解除绑定事件的方法,比如 unbind()、off()、undelegate() …

    jquery 2023年5月28日
    00
  • 如何使用JavaScript/jQuery获得被点击按钮的ID

    要获取被点击按钮的ID,可以使用JavaScript或jQuery。以下是使用JavaScript和jQuery获取被点击按钮的ID的完整攻略: 使用JavaScript获取被点击按钮的ID 步骤一:创建结构 首先需要创建包要点击的按钮的HTML构。以下是一个例子: <!DOCTYPE html> <html> <head&gt…

    jquery 2023年5月9日
    00
  • JS实现table表格内针对某列内容进行即时搜索筛选功能

    实现table表格内针对某列内容进行即时搜索筛选功能的攻略包括以下几个步骤: HTML结构设计 在设计HTML表格结构时,需要为搜索功能留出位置。可以在表格上方添加一个输入框,用户在输入框中输入筛选条件,表格会根据输入内容筛选匹配的数据。 例如: <div> <label for="filter">搜索:</…

    jquery 2023年5月27日
    00
  • 如何基于jQuery实现五角星评分

    如何基于 jQuery 实现五角星评分?这个问题涉及以下问题: 如何绘制五角星 如何捕获用户点击事件 如何实现状态的保存 接下来,我将进行详细讲解。 绘制五角星 首先,在 CSS 中编写绘制五角星的样式。这里使用兼容性比较好的 transform 属性。 .star { display: inline-block; width: 20px; height: …

    jquery 2023年5月28日
    00
  • JQuery isArray()方法

    jQuery.isArray()方法用于检查一个对象是否为数组。本文将详细介绍isArray()方法的语法和用法,并提供两个示例说明。 语法 以下是isArray()方法的基本语法: jQuery.isArray(obj) 在这个语法中,obj是要检查的对象。isArray()方法将返回一个布尔值,指示该对象是否数组。 示例1:检查对象是否为数组 以下是一个…

    jquery 2023年5月9日
    00
  • JQuery中的html()、text()、val()区别示例介绍

    下面是详细的攻略: 标题 JQuery中的html()、text()、val()区别示例介绍 介绍 JQuery是一个非常流行的JavaScript库,提供了许多实用的方法。其中三个常用的方法是html()、text()和val(),用于操作HTML元素的内容。 区别 html() html()方法用于获取或设置HTML元素的内容。如果不传参数,则返回第一个…

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