激活另一个元素时如何关闭一个元素?

CJ408

我有两个要素。如果1已经打开,那么当我打开2时,应该关闭1。我对javascript还是陌生的,所以如果有人wuold帮助,请谢谢。现在,当我尝试单击时,什么也没有发生,如果我删除了while循环,那么它将起作用。也许我不确定那里有什么错误,但是根据逻辑来看,它看起来是正确的。

<style>
.mystyle {
width: 300px;
height: 50px;
background-color: coral;
color: white;
font-size: 25px;
}

.newClassName {
width: 400px;
height: 100px;
background-color: lightblue;
text-align: center;
font-size: 25px;
color: navy;
margin-bottom: 10px;
}
</style>
</head>
<body>

<p>Click the button to toggle between two classes.</p>
<button onclick="myFunction()">Try it</button>
<button onclick="myFunction2()">Try it 2</button>

<div id="myDIV" class="mystyle">
I am a DIV element
</div>

<div id="myDIV2" class="mystyle">
I am a DIV element2
</div>
<script>
var x = document.getElementById("myDIV");
var y = document.getElementById("myDIV2");
function myFunction() {
x.classList.toggle("newClassName");
}
function myFunction2() {
y.classList.toggle("newClassName");
}
while (x.classList.contains("newClassName")) {
if (y.classList.contains("newClassName") = true) {
     x.classList.toggle("newClassName");
}
}

</script>
</body>
盖塔诺

您可以将所有功能简化为仅一个功能,因为从MDN:

toggle(String [,force])仅存在一个参数时:切换类值;否则,设置为0。即,如果类存在,则将其删除并返回false;如果不存在,则将其添加并返回true。当存在第二个参数时:如果第二个参数为true,则添加指定的类值,如果为false,则将其删除。

所以代码是:

var x = document.getElementById("myDIV");
var y = document.getElementById("myDIV2");
function myFunction() {
  var result = x.classList.toggle("newClassName");
  y.classList.toggle("newClassName", !result);
}
.mystyle {
  width: 300px;
  height: 50px;
  background-color: coral;
  color: white;
  font-size: 25px;
}

.newClassName {
  width: 400px;
  height: 100px;
  background-color: lightblue;
  text-align: center;
  font-size: 25px;
  color: navy;
  margin-bottom: 10px;
}
<p>Click the button to toggle between two classes.</p>
<button onclick="myFunction()">Try it</button>
<button onclick="myFunction()">Try it 2</button>

<div id="myDIV" class="mystyle">
    I am a DIV element
</div>

<div id="myDIV2" class="mystyle">
    I am a DIV element2
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击另一个元素时如何关闭另一个元素

来自分类Dev

如何在单击另一个元素时关闭一个元素

来自分类Dev

使用CSS单击另一个元素时如何显示一个元素?

来自分类Dev

使用CSS单击另一个元素时如何显示一个元素?

来自分类Dev

如何在悬停另一个元素时更改一个元素的颜色?

来自分类Dev

如何选择另一个元素内的元素?

来自分类Dev

sass:悬停另一个div时影响另一个元素

来自分类Dev

滚动后如何显示一个元素,输入另一个元素时如何隐藏?

来自分类Dev

悬停一个伪元素时,使另一个伪元素出现?

来自分类Dev

当一个元素在另一个元素后面时,SwiftUI按钮会单击

来自分类Dev

在显示另一个元素时隐藏一个元素?

来自分类Dev

隐藏一个元素时,单击另一个元素x次

来自分类Dev

关闭另一个表单时,如何刷新另一个表单?

来自分类Dev

悬停另一个元素时,如何从一个元素中去除阴影效果?

来自分类Dev

当一个元素悬停并影响CSS中的另一个元素/类时,如何添加悬停效果?

来自分类Dev

当一个数组是另一个数组的元素时如何限制它的元素类型

来自分类Dev

当另一个元素纯粹悬停在 css 中时,如何更改一个元素的样式属性?

来自分类Dev

XSD一个元素或另一个

来自分类Dev

在输入悬停时选择另一个元素

来自分类Dev

悬停时,更改不近的另一个元素

来自分类Dev

如何将一个元素绑定到另一个元素

来自分类Dev

如何显示一个元素的外部HTML作为另一个元素的内容?

来自分类Dev

如何根据另一个元素的宽度设置一个元素的宽度?

来自分类Dev

如何在另一个元素下面显示一个元素?

来自分类Dev

如何通过滚动用另一个元素覆盖一个元素?

来自分类Dev

如何将一个元素放置在另一个元素的北边

来自分类Dev

如何显示一个元素的外部HTML作为另一个元素的内容?

来自分类Dev

如何使一个元素跟随另一个元素的大小

来自分类Dev

如何将一个元素定位到另一个元素的左侧?

Related 相关文章

  1. 1

    单击另一个元素时如何关闭另一个元素

  2. 2

    如何在单击另一个元素时关闭一个元素

  3. 3

    使用CSS单击另一个元素时如何显示一个元素?

  4. 4

    使用CSS单击另一个元素时如何显示一个元素?

  5. 5

    如何在悬停另一个元素时更改一个元素的颜色?

  6. 6

    如何选择另一个元素内的元素?

  7. 7

    sass:悬停另一个div时影响另一个元素

  8. 8

    滚动后如何显示一个元素,输入另一个元素时如何隐藏?

  9. 9

    悬停一个伪元素时,使另一个伪元素出现?

  10. 10

    当一个元素在另一个元素后面时,SwiftUI按钮会单击

  11. 11

    在显示另一个元素时隐藏一个元素?

  12. 12

    隐藏一个元素时,单击另一个元素x次

  13. 13

    关闭另一个表单时,如何刷新另一个表单?

  14. 14

    悬停另一个元素时,如何从一个元素中去除阴影效果?

  15. 15

    当一个元素悬停并影响CSS中的另一个元素/类时,如何添加悬停效果?

  16. 16

    当一个数组是另一个数组的元素时如何限制它的元素类型

  17. 17

    当另一个元素纯粹悬停在 css 中时,如何更改一个元素的样式属性?

  18. 18

    XSD一个元素或另一个

  19. 19

    在输入悬停时选择另一个元素

  20. 20

    悬停时,更改不近的另一个元素

  21. 21

    如何将一个元素绑定到另一个元素

  22. 22

    如何显示一个元素的外部HTML作为另一个元素的内容?

  23. 23

    如何根据另一个元素的宽度设置一个元素的宽度?

  24. 24

    如何在另一个元素下面显示一个元素?

  25. 25

    如何通过滚动用另一个元素覆盖一个元素?

  26. 26

    如何将一个元素放置在另一个元素的北边

  27. 27

    如何显示一个元素的外部HTML作为另一个元素的内容?

  28. 28

    如何使一个元素跟随另一个元素的大小

  29. 29

    如何将一个元素定位到另一个元素的左侧?

热门标签

归档