使用javascript 点击tab栏切换事件代码记录
如下图实现以下两点功能:
这里做代码记录
1. javascript 点击tab栏动态切换内容,并添加active
2. javascript 点击左右图标可以向左或者向右移动元素

第1点功能:
// tab栏
<div class="left"><span class="tab active" onclick="changeTab('personCon',event)">个人业务</span><span class="tab" onclick="changeTab('publicCon',event)">对公业务</span><span class="tab" onclick="changeTab('licenseCon',event)">证照办理</span></div>// tab栏对应的内容
<div class="tabItem none" id="personCon"><div class="business-list">这里是个人业务</div>
</div>
<div class="tabItem none" id="publicCon"><div class="business-list">这里是对公业务</div>
</div>
<div class="tabItem none" id="licenseCon"><div class="business-list">这里是证照办理</div>
</div>
// js执行事件
function changeTab(tabId, e) {let tabItems = document.querySelectorAll('.tabItem');tabItems.forEach(function (item) {item.classList.remove('show');item.classList.add('none');});let tabs = document.querySelectorAll('.tab');tabs.forEach(function (item) {item.classList.remove('active');});// 显示选中当前的tabe.target.classList.add('active');// 显示当前选中的 tabItemlet activeTab = document.getElementById(tabId);activeTab.classList.add('show');}
第2点功能,改变ul的style,tanlateX 移动
<div class="business-list"><div class="list-left" onclick="moveEvent('listLeft',event)"><img src="./assets/zj.png" /></div><div class="list-box"><ul class="list"><li><img src="./assets/jsld.png" /><span>家属来队</span></li><li><img src="./assets/xjsq.png" /><span>休假申请</span></li><li><img src="./assets/xxwh.png" /><span>信息维护</span></li> </div><div class="list-right" onclick="moveEvent('listRight',event)"><img src="./assets/yj.png" /></div></div>
let currentIndex = 0;let listWidth = 150; // li 元素的宽度function moveEvent(direction, event) {event.stopPropagation();if (direction === 'listLeft') {currentIndex--;} else if (direction === 'listRight') {currentIndex++;}updateListPosition();}function updateListPosition() {let ul = document.querySelector('.list');let newPosition = currentIndex * listWidth;ul.style.transform = 'translateX(' + newPosition + 'px)';}
相关文章:
使用javascript 点击tab栏切换事件代码记录
如下图实现以下两点功能: 这里做代码记录 1. javascript 点击tab栏动态切换内容,并添加active 2. javascript 点击左右图标可以向左或者向右移动元素 第1点功能: // tab栏 <div class"left"><span class"tab act…...
零基础编程入门视频教程,零基础编程从哪学起,分享中文编程工具构件实例
零基础编程入门视频教程,零基础编程从哪学起,分享中文编程工具构件实例 1、零基础编程入门视频教程,系统化编程教程链接 https://jywxz.blog.csdn.net/article/details/134073098?spm1001.2014.3001.5502 2、零基础编程从哪学起 建议初学…...
计算机毕业设计|基于SpringBoot+MyBatis框架的电脑商城的设计与实现(订单和AOP)
计算机毕业设计|基于SpringBootMyBatis框架的电脑商城的设计与实现(订单和AOP) 该项目分析着重于设计和实现基于SpringBootMyBatis框架的电脑商城。首先,通过深入分析项目所需数据,包括用户、商品、商品类别、收藏、订单、购物车…...
【Skynet 入门实战练习】实现网关服务 | 用户代理 | RPC 协议 | 客户端
文章目录 前言网关服务RPC 协议看门狗服务代理服务客户端逻辑梳理 前言 上两章学习了如何搭建一个项目,简单实现了几个基础模块。本章节会实现基本的客户端与服务端的通信,包括网关(gate)、看门狗(watchdog࿰…...
eclipse - jee 建立项目后没有 web.xml
eclipse -- jee 建立项目后没有 web.xml 处理它的方法是,点 File - New - Dynamic Web Project , 此时起一个项目名如M4 然后next 然后next 出现如此所示:...
Miniconda虚拟环境安装(chatglm2大模型安装步骤二)
1.服务器配置 服务器系统:Centos7.9 x64 显卡:RTX3090 (24G) 2.安装环境 2.1 检查conda是否安装 输入命令:conda -V 如果显示conda 4.7.12,说明已经有不需要安装 2.2 安装Miniconda 在家目录建一个mi…...
C++学习之路(四)C++ 实现简单的待办事项列表命令行应用 - 示例代码拆分讲解
本期示例介绍: 本期示例《待办事项列表应用》展示了一个简单的任务管理系统,用户可以通过命令行界面执行添加任务、删除任务和显示任务列表等操作。 功能描述: 添加任务功能: 用户可以输入任务描述,将新的任务添加到任务列表中。…...
函数指针数组指针数组传参的本质字符指针
🚀 作者:阿辉不一般 🚀 你说呢:不服输的你,他们拿什么赢 🚀 专栏:爱上C语言 🚀作图工具:draw.io(免费开源的作图网站) 如果觉得文章对你有帮助的话,还请点赞…...
Linux swapon命令教程:如何在Linux中启用和禁用交换空间(附实例教程和注意事项)
Linux swapon命令介绍 Linux的swapon命令用于启用指定设备和文件的交换。当物理内存(RAM)达到其最大容量时,Linux使用交换空间。如果系统需要更多的内存,而RAM不足,内存中的非活动页面将被移动到交换空间。交换空间是…...
云计算领域的第三代浪潮!
根据IDC不久前公布的数据,2023年上半年中国公有云服务整体市场规模(IaaS/PaaS/SaaS)为190.1亿美元,阿里云IaaS、PaaS市场份额分别为29.9%和27.9%,都远超第二名,是无可置疑的行业领头羊。 随着人工智能(AI)…...
面试题目总结(一)
1. 谈谈数据库的乐观锁和悲观锁 乐观锁和悲观锁是数据库并发控制中常用的两种策略,用于处理多个事务同时访问和修改同一个数据时的并发冲突问题。 数据库的乐观锁是指在读取数据时,不对数据进行加锁,而是在更新数据时检查数据版本是否发生变…...
建造者设计模式
3. 建造者设计模式 3.1 原理 Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 建造者模式是用来创建一种类型的复杂对象,通过设置不同的可选参数,“定制化”地创建不同的对象。 创建者模式主要包含以…...
YOLO目标检测——垃圾检测数据集下载分享【含对应voc、coco和yolo三种格式标签】
实际项目应用:智能化垃圾分类系统、垃圾回收和处理领域的优化管理等方面数据集说明:垃圾分类检测数据集,真实场景的高质量图片数据,数据场景丰富,含报纸、蛋壳、矿泉水瓶、电池、拉链顶罐、塑料餐盒、纸质药盒、香蕉皮…...
Vue CLI的介绍【vue利器之一】
文章目录 前言Vue CLI 介绍CLICLI 服务CLI 插件后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:vue.js 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&am…...
【学习笔记】插值之拉格朗日插值(Lagrange)
0 插值介绍 插值法是广泛应用于理论研究和工程实际的重要数值方法。用提供的部分离散的函数值来进行理论分析和设计都是极不方便的,因此希望能够用一个既能反映原函数特征,又便于计算的简单函数去近似原函数。 1 低次拉格朗日插值 定理:设…...
无人机电力巡检系统运行流程全解读
随着电力行业体系不断完善,保障电网运营的安全成为至关重要的任务。传统的人工巡检方式在面对电力设备广泛分布和复杂工况时显得效率低下,为了解决这一难题,无人机电力巡检系统应运而生,以智能化的运行流程,为电网安全…...
有关全局变量和sizeof的题
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int i; int main() {i--;if (i > sizeof(i)){printf(">");}else{printf("<");}return 0; } 这道题结果是 > 首先对于一个全局变量,当没有对其初始化时,它…...
vue简述
vue为渐进式框架:vmmv 1.易用 有html、css、javascript基础,即可学习vue框架 2.高效、开发前端页面 非常高效 1.vue的体积小、压缩完只需要20k的大小 2.超快的虚拟dom操作js中非常多的dom操作,vue设计虚拟dom非常快 3.设计时vue底层深度优化 …...
YOLOv8 训练自己的分割数据集
之前写过一篇 使用YOLOv8训练自己的【目标检测】数据集-【收集数据集】-【标注数据集】-【划分数据集】-【配置训练环境】-【训练模型】-【评估模型】-【导出模型】,里面带大家整个流程走过一遍了, 这篇文章我们来介绍如何使用 YOLOv8 训练分割数据集&a…...
Python实现DDos攻击实例详解
文章目录 SYN 泛洪攻击Scapy3k 基本用法代码实现DDos 实现思路argparse 模块socket 模块代码实现Client 端程序测试后记关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案…...
保姆级教程:用PCL的SAC_RANSAC算法搞定点云平面分割(附完整C++代码)
从零掌握PCL点云平面分割:RANSAC算法实战与避坑指南 刚接触三维点云处理时,面对杂乱无章的数据点,如何快速准确地提取出平面结构?本文将手把手带你用PCL库中的RANSAC算法实现点云平面分割,从环境搭建到参数调优&#x…...
OpenClaw开发提效指南:Qwen3-14b_int4_awq辅助日志分析与命令执行
OpenClaw开发提效指南:Qwen3-14b_int4_awq辅助日志分析与命令执行 1. 为什么开发者需要OpenClaw 作为一名全栈开发者,我每天要处理数十个项目的日志文件、执行测试脚本、生成汇总报告。这些重复性工作不仅枯燥,还容易出错。直到我发现OpenC…...
力扣日刷47-补
236.二叉树的最近公共祖先这一题的逻辑说句实话也是非常地难懂。下面我来做一个总结吧:首先,我们的边界条件是,如果节点为空或者节点是pq其中一个返回节点的值。然后我们进行后序的遍历。这个遍历相当于是去刨根问底一定要找到p或者q或者所有…...
如何处理SQL视图的循环依赖_优化架构设计与拆分逻辑
数据库拒绝创建循环依赖视图(如A依赖B、B又依赖A),在CREATE VIEW时即报ORA-04045等错;根本原因是解析依赖图时检测到环,需拆分逻辑、抽离共用子查询为物化视图或表。视图 A 依赖视图 B,B 又依赖 Aÿ…...
OpenClaw飞书机器人集成:Kimi-VL-A3B-Thinking多模态问答助手
OpenClaw飞书机器人集成:Kimi-VL-A3B-Thinking多模态问答助手 1. 为什么选择OpenClaw飞书Kimi-VL组合? 去年我在内容团队工作时,经常遇到这样的场景:设计师发来一张海报初稿,我们需要快速判断文案与图像的匹配度&…...
Linux内存监控工具与实战技巧
1. Linux 内存监控概述作为一名运维工程师,我每天都要和服务器内存打交道。内存就像系统的血液,一旦出现异常,整个系统就会变得迟缓甚至崩溃。在Linux系统中,我们可以通过多种方式来监控内存使用情况,每种方法都有其独…...
Python AOT编译性能翻倍的5个隐藏开关:LLVM 18.1 + PGO + LTO实战配置,错过再等三年
第一章:Python 原生 AOT 编译方案 2026 性能调优指南随着 CPython 3.14 对原生 AOT(Ahead-of-Time)编译的正式支持落地,2026 年 Python 生态已进入“可编译、可嵌入、可确定性部署”的新阶段。本章聚焦于基于 cpython-aot 工具链与…...
OpenAI Assistants API 深度测评与开发指南
OpenAI Assistants API 深度测评与开发指南 第1章 核心概念与问题溯源:从“一次性对话API”到“智能助手构建引擎” 1.1 核心概念:什么是OpenAI Assistants API? 1.1.1 官方定义拆解 OpenAI Assistants API(以下简称“Assistants API”)是OpenAI在2023年11月发布的DevD…...
终极指南:如何通过ComfyUI-Custom-Scripts大幅提升AI绘画工作效率
终极指南:如何通过ComfyUI-Custom-Scripts大幅提升AI绘画工作效率 【免费下载链接】ComfyUI-Custom-Scripts Enhancements & experiments for ComfyUI, mostly focusing on UI features 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Custom-Scripts …...
语雀文档本地化备份工具:轻量级工具实现全流程管理
语雀文档本地化备份工具:轻量级工具实现全流程管理 【免费下载链接】yuque-exporter export yuque to local markdown 项目地址: https://gitcode.com/gh_mirrors/yuq/yuque-exporter 在语雀平台调整服务策略的背景下,如何安全高效地迁移个人创作…...
