在链接上切换活动课程

2024-01-01

给定一个在两个类之间切换的脚本,我还向当前选定的链接添加一个活动状态,以设置下划线来显示活动状态。但是,当连续单击链接时,它会不断添加活动类,而不是打开和关闭该类。如何在单击链接时显示活动状态,并在单击另一个链接时关闭并应用于另一个链接?

JS

const Terms = {
  bindEvents () {
this.enTrigger.addEventListener('click', (e) => {
  this.langToggle(this.englishContent)
  this.enTrigger.classList.add('active')
    this.frTrigger.classList.remove('active')
})
this.frTrigger.addEventListener('click', (e) => {
  this.langToggle(this.frenchContent)
  this.frTrigger.classList.add('active')
    this.enTrigger.classList.remove('active')
})
  },

  init () {
    this.englishContent = document.getElementById('english-terms')
    this.frenchContent = document.getElementById('french-terms')
    this.enTrigger = document.getElementById('en')
    this.frTrigger = document.getElementById('fr')
    this.bindEvents()
  },

  langToggle (id) {
    this.englishContent.style.display = 'none'
    this.frenchContent.style.display = 'none'
    id.style.display = 'block'
  }
}

document.addEventListener('DOMContentLoaded', () => {
  Terms.init()
})

HTML

<div class="terms-nav">
  <a id="en">English</a><a id="fr">French</a>
</div>

您可以尝试使用类似的东西在两个类之间切换。因此,当您单击一个元素时,它会将该类添加到自身,但会从另一个元素中删除该类。JSFiddle https://jsfiddle.net/0985nyop/15/

var english = document.getElementById('en');
var french = document.getElementById('fr');


english.addEventListener('click', function(){
    this.classList.add('active');
    french.classList.remove('active');
});

french.addEventListener('click', function(){
    this.classList.add('active');
    english.classList.remove('active');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在链接上切换活动课程 的相关文章

随机推荐

  • 在另一个js文件中加载外部js文件[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有这个文件包含在我的 html 中 我想从另一个 javascript 调用它 请建议我该怎么做 我想将它包含在我的js文件中 而不是ht
  • ScrollView 与 flex 1 使其不可滚动

    我正在尝试在ScrollView 并且只要 ScrollView 有flex 1 the 内部滚动不起作用 这是博览会小提琴 您可以运行此代码并使用它 https snack expo io SySerKNp https snack exp
  • C++ map<字符,静态方法指针>? [复制]

    这个问题在这里已经有答案了 我编写了一个非常基本的表达式解析器 我希望它是可扩展的 以便它可以解析用户定义的表达式类型 例如 如果在解析时我遇到了字符 lt 我想创建一个类的实例 用于解析以此字符开头的表达式 我有两个问题 如何将字符与静态
  • 有没有办法自动生成有效的算术表达式?

    我目前正在尝试创建一个 Python 脚本 它将自动生成有效的空格分隔算术表达式 但是 我得到的示例输出如下所示 32 42 95 24 53 21 虽然空括号对我来说完全没问题 但我无法在计算中使用这个自动生成的表达式 因为 24 和 5
  • ORA-01704: 字符串文字太长 '在 Oracle XMLTYPE 列类型中插入 XML 文档时出错'

    当我尝试将 SQL 表中的数据插入 Oracle 表时 出现此错误 ORA 01704 字符串文字太长 在我的 Oracle 表中 有一列具有 XMLTYPE 列类型 当我创建表时 我指定了 XML 列 如下所示 CREATE TABLE
  • phpmyadmin、neginx error.log - 检查组 www-data 是否具有读取权限和 open_basedir

    我在 phpmyadmin 网站上有此消息 phpMyAdmin 配置存储未完全配置 一些扩展功能已被停用 要了解原因 请点击此处 在 单击此处 页面上 我有以下内容 页面打印屏幕 https www dropbox com s vhh4v
  • 在 Swift 中从 AVCaptureSession 捕获静态图像

    我有一个AVCaptureSession在 UIView 中显示实时视频 我想将视频流的一帧保存为 UIImage 我一直在剖析我在互联网上不断看到的代码 但我在第一行遇到了问题 if let stillOutput self stillI
  • 在打字稿文件上启用 Eslint

    在 webstorm eslint 设置中 有一个 额外 eslint 选项 字段 在此 我补充道 ext ts 来自埃斯林特文档 http eslint org docs user guide command line interface
  • 乘客问题:“没有要加载的文件”--/config/environment

    我一直在研究这个问题 并到处发现类似问题的参考资料 但尚未找到解决方案 我已经安装了 guest 2 2 11 和 nginx 0 7 64 当我启动并点击 Rails URL 时 我收到一个错误页面 通知我加载错误 没有要加载的文件 pa
  • 按下“Ctrl + C”按钮处理 C# 控制台应用程序

    如何处理同时按下的两个按钮 Ctrl C 不是在 WindowsForms 应用程序中 而是在控制台 C 应用程序中 我怀疑你想设置Console TreatCtrlCAsInput http msdn microsoft com en u
  • UIBarButton 没有改变

    IBOutlet weak var playStopButton UIBarButtonItem var playStopArray UIBarButtonSystemItem Pause UIBarButtonSystemItem Pla
  • pandas udf showString 简单示例错误

    我开始在使用此 身份 pandas udf 在 EMR 集群上运行的 Pyspark Jupyter 笔记本上使用 pandas udf 并且收到以下错误 pandas udf df schema PandasUDFType GROUPED
  • 批量将文件从子文件夹移动到父文件夹

    这是我的场景 这是我的文件夹结构 C DOCS Project1 docname1 image jpg docname2 image jpg docname3 image jpg C DOCS Project2 docname1 image
  • 什么样的面试问题适合 C++ 手机屏幕?

    很想了解人们的想法 我经常进行采访 在我的职业生涯中已经有足够多的时间来反思这些采访 并且我注意到了各种各样的问题 我专门做了这个 C 但值得注意的是 有人通过电话问我算法复杂性问题 我什至不是指哈希查找与二叉树的复杂性 我的意思更像是分析
  • 在 Oracle SQL / PL-SQL 中将德语特殊字符转换为英语等效字符

    我想将表的一列中的所有德语字符替换为相应的英语字符 当我尝试使用 Replace 函数时 它没有返回丰硕的结果 我想将所有德语特殊字符替换为 Ae Oe Ue oe ae ue ss 请让我知道如何执行 我需要更改任何数据库设置吗 请在下面
  • Python 3.4 解码字节

    我正在尝试用 python 编写一个文件 并且在编写文件之前找不到解码字节对象的方法 基本上 我正在尝试解码这个字节字符串 Les xc3 x83 xc2 xa9vad xc3 x83 xc2 xa9s 这是我试图恢复的原始文本 Les v
  • 使用 .net core 为 NLog 注入服务的自定义目标

    我正在使用 NLogNLog Extensions Logging用于 aps net 核心支持 我需要创建一个自定义目标并将服务注入到目标的构造函数中 以下代码永远不会被执行 public MyTarget IService servic
  • 在前台服务中运行网络代码后仍然收到“网络使用过多(后台)”警告

    通过参考处理和解决 网络使用过多 后台 的正确方法 https stackoverflow com questions 54489501 proper way to tackle and resolve excessive network
  • 最短路径图算法助力Boost

    我有一个矩形网格形状的 DAG 其中水平边缘始终指向右侧 垂直边缘始终指向下方 边缘具有与之相关的正成本 由于矩形格式 节点使用从零开始的行 列来引用 这是一个示例图 现在 我想进行搜索 起始顶点将始终位于左列 索引为 0 的列 和图的上半
  • 在链接上切换活动课程

    给定一个在两个类之间切换的脚本 我还向当前选定的链接添加一个活动状态 以设置下划线来显示活动状态 但是 当连续单击链接时 它会不断添加活动类 而不是打开和关闭该类 如何在单击链接时显示活动状态 并在单击另一个链接时关闭并应用于另一个链接 J