尝试反转HTML/CSS切换器的JavaScript触发器

尝试反转HTML/CSS切换器的JavaScript触发器,javascript,html,css,Javascript,Html,Css,我有一个HTML,CSS切换器,它工作得很好 但是-我希望效果相反,这样就根本没有文本,但是当切换开关被滑动时,通过DIV的文本被触发-因此基本上与当前的情况相反 有什么办法吗?我试着玩“隐藏”类,但我无法让它工作 代码如下: 函数切换div{ 如果document.getElementById'myonoffswitch'。已选中{ document.querySelector.triggeredDiv.classList.remove'hidden'; }否则{ document.quer

我有一个HTML,CSS切换器,它工作得很好

但是-我希望效果相反,这样就根本没有文本,但是当切换开关被滑动时,通过DIV的文本被触发-因此基本上与当前的情况相反

有什么办法吗?我试着玩“隐藏”类,但我无法让它工作

代码如下:

函数切换div{ 如果document.getElementById'myonoffswitch'。已选中{ document.querySelector.triggeredDiv.classList.remove'hidden'; }否则{ document.querySelector.triggeredDiv.classList.add'hidden'; } } getElementById'myonoffswitch'。添加了EventListenerChange,toggleDiv; .ONOFF开关{ 位置:相对位置; 宽度:200px; -webkit用户选择:无; -moz用户选择:无; -ms用户选择:无; } .onoffswitch复选框{ 显示:无; } .ONOFF开关标签{ 显示:块; 溢出:隐藏; 光标:指针; 边框:2个实心999999; 边界半径:20px; } .ONOFF开关内部{ 显示:块; 宽度:200%; 左边距:-100%; 过渡:0秒时,边距为0.3秒; } .ONOFF开关内部:之前, .ONOFF开关内部:之后{ 显示:块; 浮动:左; 宽度:50%; 高度:51px; 填充:0; 线高:51px; 字体大小:14px; 颜色:白色; 字体系列:投石机,Arial,无衬线; 字体大小:粗体; 框大小:边框框; } .ONOFF开关内部:之前{ 内容:按国家分列; 左侧填充:10px; 背景色:dfe4ea; 颜色:999999; } .ONOFF开关内部:之后{ 内容:显示文本; 右边填充:10px; 背景色:dfe4ea; 颜色:999999; 文本对齐:右对齐; } .ONOFF开关{ 显示:块; 宽度:50px; 利润率:0.5px; 背景:a1a1; 位置:绝对位置; 排名:0; 底部:0; 右:145px; 边框:2个实心999999; 边界半径:20px; 过渡:所有0.3秒在0秒内轻松过渡; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch内部{ 左边距:0; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch开关{ 右:0px; 背景颜色:999999; } triggeredDiv先生{ 显示:块; } .triggeredDiv.hidden{ 显示:无; } 显示文本 我将类名从hidden更改为Showed,并相应地调整了JavaScript

triggeredDiv先生{ 显示:无; } .triggerediv.如图所示{ 显示:块; } 演示

函数切换div{ var triggeredDiv=document.querySelector'.triggeredDiv'; 如果document.getElementById'myonoffswitch'。已选中{ 类列表。删除“已显示”; }否则{ triggeredDiv.classList.add'Showed'; } } getElementById'myonoffswitch'。添加了EventListenerChange,toggleDiv; .ONOFF开关{ 位置:相对位置; 宽度:200px; -webkit用户选择:无; -moz用户选择:无; -ms用户选择:无; } .onoffswitch复选框{ 显示:无; } .ONOFF开关标签{ 显示:块; 溢出:隐藏; 光标:指针; 边框:2个实心999999; 边界半径:20px; } .ONOFF开关内部{ 显示:块; 宽度:200%; 左边距:-100%; 过渡:0秒时,边距为0.3秒; } .ONOFF开关内部:之前, .ONOFF开关内部:之后{ 显示:块; 浮动:左; 宽度:50%; 高度:51px; 填充:0; 线高:51px; 字体大小:14px; 颜色:白色; 字体系列:投石机,Arial,无衬线; 字体大小:粗体; 框大小:边框框; } .ONOFF开关内部:之前{ 内容:按国家分列; 左侧填充:10px; 背景色:dfe4ea; 颜色:999999; } .ONOFF开关内部:之后{ 内容:显示文本; 右边填充:10px; 背景色:dfe4ea; 颜色:999999; 文本对齐:右对齐; } .ONOFF开关{ 显示:块; 宽度:50px; 利润率:0.5px; 背景:a1a1; 位置:绝对位置; 排名:0; 底部:0; 右:145px; 边框:2个实心999999; 边界半径:20px; 过渡:所有0.3秒在0秒内轻松过渡; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch内部{ 左边距:0; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch开关{ 右:0px; 背景颜色:999999; } triggeredDiv先生{ 显示:无; } .triggerediv.如图所示{ 显示:块; } 显示文本
您需要反转逻辑并最初调用函数

function toggleDiv() {
  if (document.getElementById('myonoffswitch').checked) {
    document.querySelector('.triggeredDiv').classList.add('hidden');
  } else {
    document.querySelector('.triggeredDiv').classList.remove('hidden');
  }
}
toggleDiv() // initial call. You may need to wait DOMContentLoaded
函数切换div{ 如果document.getElementById'myonoffswitch'。已选中{ document.querySelector.triggeredDiv.classList.add'hidden'; }否则{ document.querySelector.triggeredDiv.classList.remove'hidden'; } } 切换 getElementById'myonoffswitch'。添加了EventListenerChange,toggleDiv; .ONOFF开关{ 位置:相对位置; 宽度:200px; -webkit用户选择:无; -moz用户选择:无; -ms用户选择:无; } .onoffswitch复选框{ 显示:无; } .ONOFF开关标签{ 显示:块; 溢出:隐藏; C 乌索:指针; 边框:2个实心999999; 边界半径:20px; } .ONOFF开关内部{ 显示:块; 宽度:200%; 左边距:-100%; 过渡:0秒时,边距为0.3秒; } .ONOFF开关内部:之前, .ONOFF开关内部:之后{ 显示:块; 浮动:左; 宽度:50%; 高度:51px; 填充:0; 线高:51px; 字体大小:14px; 颜色:白色; 字体系列:投石机,Arial,无衬线; 字体大小:粗体; 框大小:边框框; } .ONOFF开关内部:之前{ 内容:按国家分列; 左侧填充:10px; 背景色:dfe4ea; 颜色:999999; } .ONOFF开关内部:之后{ 内容:显示文本; 右边填充:10px; 背景色:dfe4ea; 颜色:999999; 文本对齐:右对齐; } .ONOFF开关{ 显示:块; 宽度:50px; 利润率:0.5px; 背景:a1a1; 位置:绝对位置; 排名:0; 底部:0; 右:145px; 边框:2个实心999999; 边界半径:20px; 过渡:所有0.3秒在0秒内轻松过渡; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch内部{ 左边距:0; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch开关{ 右:0px; 背景颜色:999999; } triggeredDiv先生{ 显示:块; } .triggeredDiv.hidden{ 显示:无; } 显示文本 使用JQuery,隐藏以开头的文本,然后在国家/地区显示

$'.triggeredDiv'.hide; 函数切换div{ 如果document.getElementById'myonoffswitch'。已选中{ console.loghidden $'.triggeredDiv'.hide; }否则{ console.logshow $'.triggeredDiv'.show; } } getElementById'myonoffswitch'。添加了EventListenerChange,toggleDiv; .ONOFF开关{ 位置:相对位置; 宽度:200px; -webkit用户选择:无; -moz用户选择:无; -ms用户选择:无; } .onoffswitch复选框{ 显示:无; } .ONOFF开关标签{ 显示:块; 溢出:隐藏; 光标:指针; 边框:2个实心999999; 边界半径:20px; } .ONOFF开关内部{ 显示:块; 宽度:200%; 左边距:-100%; 过渡:0秒时,边距为0.3秒; } .ONOFF开关内部:之前, .ONOFF开关内部:之后{ 显示:块; 浮动:左; 宽度:50%; 高度:51px; 填充:0; 线高:51px; 字体大小:14px; 颜色:白色; 字体系列:投石机,Arial,无衬线; 字体大小:粗体; 框大小:边框框; } .ONOFF开关内部:之前{ 内容:按国家分列; 左侧填充:10px; 背景色:dfe4ea; 颜色:999999; } .ONOFF开关内部:之后{ 内容:显示文本; 右边填充:10px; 背景色:dfe4ea; 颜色:999999; 文本对齐:右对齐; } .ONOFF开关{ 显示:块; 宽度:50px; 利润率:0.5px; 背景:a1a1; 位置:绝对位置; 排名:0; 底部:0; 右:145px; 边框:2个实心999999; 边界半径:20px; 过渡:所有0.3秒在0秒内轻松过渡; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch内部{ 左边距:0; } .onoffswitch复选框:选中+.onoffswitch标签.onoffswitch开关{ 右:0px; 背景颜色:999999; } triggeredDiv先生{ 显示:块; } .triggeredDiv.隐藏{ 显示:无; } 显示文本
.隐藏和显示:块@YuryTarabanko I将类名从hidden调整为Showed。OP不使用jquery。推广一个用于显示/隐藏元素的大型库是一个糟糕的做法。他有没有提到任何不向JQuery开放的地方?!这是一个选择。。。使用与否,并不意味着它错了!!另外,他明确表示他使用了它,但它在@YuryTarabankoOk上不起作用,但我仍然认为这个答案很糟糕正在升级以使用和加载大型库。。。使用say Angular进行完全重写也是一种选择。在本例中,反转逻辑是唯一需要的。这应该是正确的答案。