切换 - 隐藏和显示

时间:2017-06-20 20:32:57

标签: javascript html toggle

我复制了w3schools隐藏并显示切换,但是我希望它被反转,以便从一开始就没有额外的信息,但按钮显示它。

这是代码:

HTML:

<button onclick="myFunction()">Click Me</button>

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

JS:

function myFunction() {
var x = document.getElementById('myDIV');
if (x.style.display === 'none') {
    x.style.display = 'block';
} else {
    x.style.display = 'none';
   }
}

非常感谢任何帮助!

5 个答案:

答案 0 :(得分:4)

解决方案很简单:只需隐藏div。

<div id="myDIV" style="display:none"> 
    This is my DIV element. 
</div>

如果你把它隐藏在css中,那就更酷了:

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

这在你的css中:

#myDIV {
    display: none;
}

答案 1 :(得分:2)

您只需在代码中添加display:none。

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

<div id="myDIV" style="display:none;">
     This is my DIV element.
</div>

答案 2 :(得分:2)

我为此提供了一个实用的CSS类:

.is--hidden {
    display: none;
} 

然后您可以默认将它应用于元素:

<button class="mybutton">Click Me</button>
<div class="example is--hidden">Some Text</div>

并通过jQuery切换它:

$('.mybutton').on('click', function () {
    $('.example').toggleClass('is--hidden');
})

小提琴:https://jsfiddle.net/tL5mj54n/

答案 3 :(得分:2)

不需要更改样式或HTML。您的javascript应该如下:

(function () {
var x = document.getElementById('myDIV');
if (x.style.display != 'none') {
    x.style.display = 'none';
} else {
    x.style.display = 'block';
   }
} )();

function myFunction() {
var x = document.getElementById('myDIV');
if (x.style.display != 'none') {
    x.style.display = 'none';
} else {
    x.style.display = 'block';
   }
};

第一个函数运行并隐藏你的div,第二个函数对点击做出反应并切换div。

答案 4 :(得分:1)

这是一个代码段示例

设置样式以从头开始隐藏元素(display:none)。点击即可切换。

document.getElementById('myButton').onclick = function() {
  var x = document.getElementById('myDIV');
  x.style.display = x.style.display === 'none' ? 'block' : 'none';
};
<button id='myButton' >Click Me</button>

<div id="myDIV" style="display:none">
     This is my DIV element.
</div>