JavaScript中的tab栏切换制作(排他思想)

news2024/11/24 12:01:37

文章目录

  • 实现效果图
  • 排他思想
  • tab栏切换制作思路
  • 代码部分

实现效果图

整个页面分为2个部分,tab_list部分(上半部分)和tab_con部分(下半部分)
tab_list部分包含5个li,它们分别与tab_con部分的5个div盒子一一对应
tab_list部分只有点击才会有红色背景样式,如果点击了规格与包装,那么商品介绍的样式会被清空。同时,tab_con部分的显示内容跟随tab_list部分的点击发生改变
在这里插入图片描述

排他思想

1.所有元素全部清除样式
2.给当前元素设置样式
3.注意顺序不能颠倒,首先干掉其他人,再设置自己

tab栏切换制作思路

1.模块选项卡,点击某一个,当前这一底色会是红色,其余不变(排他思想)修改类名的方式
2.下面的模块内容,会随着上面的选项卡变化,所以下面模块变化写到点击事件里面
3.规律:下面的模块显示内容和上面的选项卡一一对应相匹配
4.核心思路:给上面的tab_list里面的所有li添加自定义属性,属性值从0开始编号
5.当我们点击tab_list里面的某个li,让tab_con里面的对应序号内容显示,其余隐藏(排他思想)

代码部分

html部分

<div class="tab_list">
     <ul>
         <li class="current">商品介绍</li>
         <li>规格与包装</li>
         <li>售后保障</li>
         <li>商品评价(50000</li>
         <li>手机社区</li>
     </ul>
</div>
<div class="tab_con">
     <div class="item" style="display: block;">
                        商品介绍模块内容
     </div>
     <div class="item">
                        规格与包装模块内容
     </div>
     <div class="item">
                        售后保障模块内容
     </div>
     <div class="item">
                        商品评价模块内容
     </div>
     <div class="item">
                        手机社区模块内容
     </div>
 </div>

js部分

<!-- js部分 -->
    <script>
        // 1.实现tab栏的上半部分的切换,点击哪个选项卡,这个选项卡样式发生改变,点击其他选项卡,该选项卡样式变回原样
        // 采用排他思想
        // 2.实现tab栏的下半部分切换,点击上面的选项卡,其下标所对应的下半部分div则显示出来
        // 1.获取元素
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');
        // 2.for循环绑定点击事件
        for(var i=0; i<lis.length;i++){
            // 开始给5个li设置下标
            lis[i].setAttribute('index',i);
            lis[i].onclick = function(){
                // 干掉所有人,其余的li清除class这个类
                for(var i=0;i<lis.length;i++){
                    lis[i].className='';
                }
                // 留下我自己
                this.className='current';
                // 下面的显示内容模块
                var index = this.getAttribute('index');
                // 干掉所有人,让其余的item这些div隐藏
                for(var i=0; i<items.length;i++){
                    items[i].style.display='none';
                }
                // 留下我自己
                items[index].style.display='block';
            }

        }
    </script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Eyeshot Fem 2023.1 你选Fem还是Ultimate Crack

Eyeshot Fem--当然选Fem Everything in Ultimate, plus Geometry meshing and Finite Element Analysis. Scope Modules Image Gallery Features Scope Eyeshot Fem edition is designed for Geometry meshing and Finite Element Analysis. Modules Geometric modules includ…

《终结拖延症》重新拥有计划每天的自信和控制力

关于作者 威廉区瑙斯&#xff0c; 美著名心理治疗 专家 &#xff0c; 拥有 超过 30 年 心的 理治疗 经 &#xff0c;验 他 专 精的研究 领域 &#xff0c; 是 为 代 都 市 群提 供负 面 心 理 引 导 和 治疗 &#xff0c; 比 如 抑郁 、 心 理 亚健 康 、 拖 延 症 等 等 。 除…

redis未授权访问漏洞利用+redis日志分析

redis未授权访问漏洞利用redis日志分析 redis未授权访问 远程连接redis kali: redis-cli -h IP redis常用语句 set key “value” 设置键值对 get key 获得值 incr intkey 数字类型值加1 keys * 获取当前数据库中所有的键 config set dir /home/test 设置工作目录 config set…

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载 VMware ESXi 6 Standard 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-6/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VersionRelease NameRelease …

weblogic CVE-2014-4210 SSRF漏洞

CVE-2014-4210 SSRF漏洞 Weblogic 中存在一个SSRF漏洞&#xff0c;利用该漏洞可以发送任意HTTP请求&#xff0c;进而可以攻击内网中Redis、Fastcgi等脆弱组件 该漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp SSRF&#xff1a;服务端请求伪造&#xff0c;伪造存在该漏洞…

Spring : XML配置 JavaBean源码解析

文章目录 前言一、xml 加载 Bean 对象总结XML加载Bean对象 前言 跟着大佬走&#xff01;&#xff01;&#xff01;&#xff01; https://github.com/DerekYRC/mini-spring 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、xml 加载 Bean 对象 大家先…

企业型OV,增强型EV证书开通审核流程

选购 OV、EV型证书需要是企业用户&#xff0c;申请过程中需要提交企业资料。 选择证书品牌及型号 管理中心补全审核资料 下载“确认函”签字盖章并扫描&#xff0c;再上传。 审核部门联系确认企业信息&#xff0c;&#xff08;过需要7-10个工作日&#xff09; 审核通过&…

单商户高级版商城系统v2.3.0更新啦~

​likeshop单商户高级版商城系统更新至v2.3.0版本~主要更新内容如下&#xff1a; 新增 商品增加限购功能 小程序新版本更新提示 商品分类创建后可以显示该分类下有多少商品 积分商品列表新增封面图 商品支持批量移动分类 后台产品正版检测 优化 分销功能关闭时&#xff…

网络安全 2023 年为什么如此吃香?事实原来是这样....

前言 “没有网络安全就没有国家安全”。当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高&#xff0c;涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万…

机器学习基础知识之预测性能评价指标

文章目录 预测性能评价思路1、均方误差&#xff08;Mean Square Error&#xff0c;MSE&#xff09;2、均方根误差&#xff08;Root Mean Square Error&#xff0c;RMSE&#xff09;3、平均绝对误差&#xff08;Mean Absolute Error&#xff0c;MAE&#xff09;4、平均绝对百分比…

多线程-线程创建方式1:继承Thread类

线程创建方式1&#xff1a;继承Thread类 概述 Java语言的JVM允许程序运行多个线程&#xff0c;使用java.lang.Thread类代表线程&#xff0c;所有的线程对象都必须是Thread类或其子类的实例。Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的&#…

LeetCode:1049.最后一块石头的重量II 494.目标和 474.一和零

1049.最后一块石头的重量II 题目 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能…

pygam第5课——自制音乐播放器

前言&#xff1a;前几节课我们已经学会了很多知识点&#xff0c;欢迎大家可以去考古一下 今天我们将学习加载音乐&#xff0c;并且自制一个音乐播放器&#xff0c;界面功能包括&#xff1a; 加载背景封面上一首开始\暂停下一首重播随机播放快进 效果展示(GIF所以你们听不到声…

day6 广播及实现

什么是广播 数据包发送方式只有一个接受方&#xff0c;称为单播 如果同时发给局域网中的所有主机&#xff0c;称为广播 只有用户数据报(使用UDP协议)套接字才能广播 广播地址&#xff1a; 一个网络内主机号全为1的IP地址为广播地址 发到该地址的数据包被所有的主机接收 255…

MT6833(天玑 700)处理器参数_芯片规格_性能介绍

MT6833&#xff08;天玑700&#xff09;是一款出色的基带处理器&#xff0c;具有许多优秀的功能&#xff0c;并且采用了强大的八核CPU&#xff0c;其中包括两个主频高达2.2GHz的Arm Cortex-A76核心。此外&#xff0c;他还配备了LPDDR4X内存和UFS 2.2存储&#xff0c;大大提高了…

MyBatis中的#{}和${}有什么区别?

首先#{} 和 ${} 都是参数占位符&#xff0c;其中#{}是预编译处理&#xff0c;${}是字符直接进行替换。预编译处理是指&#xff1a;MyBatis 在处理#{}时&#xff0c;会将 SQL 中的 #{} 替换为?号&#xff0c;使⽤ PreparedStatement 的 set ⽅法来赋值。直接替换是指MyBatis 在…

【谷粒商城笔记】2. 创建项目与运行

1. 创建微服务项目 共分为下面五个 商品服务product 存储服务ware 订单服务order 优惠券服务coupon 用户服务member 1.1 新建github/gitee项目 首先去github新建项目 在IDEA中导入项目 从版本控制(Version Control)新建Project 选择路径和git链接 1.2 创建微服务 新建…

modscan模拟数据,nodred通过modbus协议向emqx创建规则引擎写入TDengine库

nodred通过modbus协议向emqx创建规则引擎写入TDengine库过程 一、emqx存储数据到TDEngine数据库1.1 进入emqx界面1.2 新建资源1.3 新建规则引擎1.4 测试 二、modscan模拟设备数据三、在Node-RED上模拟Modbus通讯3.1 nodeRed环境搭建3.2 nodeRed使用3.3 nodered读取modbus发送的…

Firewalld

目录 firewalld概述 firewalld 与 iptables 的区别 firewalld 区域的概念 firewalld防火墙预定义了9个区域 firewalld数据处理流程 firewalld检查数据包的源地址的规则 firewalld防火墙的配置方法 常用的firewall-cmd 命令选项 区域管理 服务管理 ​编辑端口管理 设…

创建项目执行计划的5个简单步骤

项目执行计划是定义项目将如何执行的文件。执行计划解释项目中涉及的战略目标和步骤&#xff0c;定义项目完成时间表&#xff0c;并列出成功项目所需的资源&#xff08;包括团队成员&#xff09;。 使用项目计划是多种项目管理最佳实践之一。这个过程并不像看起来那么复杂。按…