如何使用单击按钮切换div的可见性

use*_*600 28 html javascript css show-hide

下面是我用来显示div点击时的javascript代码button.

再次点击时如何隐藏它?然后单击它,div应该再次可见?

<script type="text/javascript">
var _hidediv = null;
function showdiv(id) {
    if(_hidediv)
        _hidediv();
    var div = document.getElementById(id);
    div.style.display = 'block';
    _hidediv = function () { div.style.display = 'none'; };
}
</script>
Run Code Online (Sandbox Code Playgroud)

Gig*_*igo 60

要在两者之间切换显示样式block,none您可以执行以下操作:

function toggleDiv(id) {
    var div = document.getElementById(id);
    div.style.display = div.style.display == "none" ? "block" : "none";
}
Run Code Online (Sandbox Code Playgroud)

工作演示:http://jsfiddle.net/BQUyT/2/

  • 注意:如果用户加载页面时 div 已经隐藏,这将不会在第一次点击时起作用。为了解决这个问题,改变`div.style.display == "none" ? "block" : "none";` 到 `div.style.display == "block" ? “无”:“阻止”;` (3认同)

Jan*_*Jan 28

如果您对jQuery soluton感兴趣:

这是HTML

<a id="button" href="#">Show/Hide</a>
<div id="item">Item</div>
Run Code Online (Sandbox Code Playgroud)

这是jQuery脚本

$( "#button" ).click(function() {
    $( "#item" ).toggle();
});
Run Code Online (Sandbox Code Playgroud)

你可以看到它在这里工作:

http://jsfiddle.net/BQUyT/

如果您不知道如何使用jQuery,则必须使用此行来加载库:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后使用此行开始:

<script>
$(function() {
    // code to fire once the library finishes downloading.
});
</script>
Run Code Online (Sandbox Code Playgroud)

所以对于这种情况,最终的代码是这样的:

<script>
$(function() {
    $( "#button" ).click(function() {
        $( "#item" ).toggle();
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

需要帮助请叫我

你可以在这里阅读更多关于jQuery的信息:http://jquery.com/

  • OP没有标记jQuery ...那么为什么jQuery呢? (26认同)
  • @SheikhHeera http://meta.stackexchange.com/questions/40353/stack-exchange-glossary-dictionary-of-commonly-used-terms (2认同)