Javascript 我想在按下按钮时显示一个元素。默认情况下显示元素,如何使其默认显示为“无”?

Javascript 我想在按下按钮时显示一个元素。默认情况下显示元素,如何使其默认显示为“无”?,javascript,css,button,hide,Javascript,Css,Button,Hide,按钮的所有内容似乎都是正确的,它的工作原理与我目前想要的相反。当我加载页面时,div:myDIV就在那里,按钮会将其切换为消失和重新出现。如何使myDIV在默认情况下为none,但仍具有按钮功能作为切换 <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> #myDIV { width: 100%; padding

按钮的所有内容似乎都是正确的,它的工作原理与我目前想要的相反。当我加载页面时,div:myDIV就在那里,按钮会将其切换为消失和重新出现。如何使myDIV在默认情况下为none,但仍具有按钮功能作为切换

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#myDIV {
  width: 100%;
  padding: 50px 0;
  text-align: center;
  background-color: lightblue;
  margin-top: 20px;
  display:none;
}
</style>
</head>
<body>


<button onclick="myFunction()">test</button>

<div id="myDIV">
This is my DIV element.
</div>



<script>
function myFunction() {
  var x = document.getElementById("myDIV");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}
</script>

</body>
</html>


#myDIV{
宽度:100%;
填充:50px0;
文本对齐:居中;
背景颜色:浅蓝色;
边缘顶部:20px;
显示:无;
}
测试
这是我的DIV元素。
函数myFunction(){
var x=document.getElementById(“myDIV”);
如果(x.style.display==“无”){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
}

我想重点在这里


当您使用
style.display
来获取显示状态时,它无法获取css中定义的显示属性


当您使用
style.display
获取显示状态时,无法获取css中定义的显示属性您需要先获取css值,然后使用JS中的按钮切换显示值。默认情况下,建议不要在HTML上提供内联样式

函数myFunction(){
const cont=document.querySelector(“图表容器”);
常量样式=getComputedStyle(续)
const displayStyle=styles.display;
如果(displayStyle==“无”){
cont.style.display=“块”;
}否则{
cont.style.display=“无”;
}
}
const BTN=document.querySelector(“按钮”);
BTN.addEventListener('click',myFunction)
.container{
背景色:#FFF;
宽度:100vw;
高度:100vh;
保证金:0;
填充:0;
显示器:flex;
}
#海图容器{
背景颜色:蓝色;
边界半径:25px;
高度:200px;
宽度:100%;
浮动:在下面;
显示:无;
}
钮扣{
宽度:50px;
高度:50px;
}

切换

您需要先获取CSS值,然后用JS中的按钮切换显示值。默认情况下,建议不要在HTML上提供内联样式

函数myFunction(){
const cont=document.querySelector(“图表容器”);
常量样式=getComputedStyle(续)
const displayStyle=styles.display;
如果(displayStyle==“无”){
cont.style.display=“块”;
}否则{
cont.style.display=“无”;
}
}
const BTN=document.querySelector(“按钮”);
BTN.addEventListener('click',myFunction)
.container{
背景色:#FFF;
宽度:100vw;
高度:100vh;
保证金:0;
填充:0;
显示器:flex;
}
#海图容器{
背景颜色:蓝色;
边界半径:25px;
高度:200px;
宽度:100%;
浮动:在下面;
显示:无;
}
钮扣{
宽度:50px;
高度:50px;
}

切换

添加样式
显示:无
到div chart container我已经尝试过了,这只是意味着我必须单击按钮两次才能显示div:)按钮在哪里切换它消失和重新出现?这不是一个。因此,您制作了
,而您的代码不起作用?也许您应该显示真实的代码,因为根据第一条注释添加样式会起作用(我注意到您已经更改了问题中的代码,使第一条注释看起来很荒谬,但是,注释是100%正确的)向div chart container添加样式
display:none
,我已经尝试过了,这只是意味着我必须单击按钮两次才能显示div:)按钮在哪里切换它消失和重新出现?这不是一个。因此,您制作了
,而您的代码不起作用?也许您应该显示真实的代码,因为根据第一条注释添加样式会起作用(我注意到您已经更改了问题中的代码,使第一条注释看起来很荒谬,但是,注释是100%正确的)