-1

我最近尝试打开和关闭一个 div,但是使用了很多方法,由于链接指向 .com/#,我无法做到这一点

直到我找到一个无需重定向到#的帖子

<script type="text/javascript">

    function toggleVisibility(newSection) {
        $("#info").not("#" + newSection).hide();
        $("#" + newSection).show();
    }
</script>

我仍在学习 JavaScript,但我不知道如何添加开关。现在它只是打开,当我按下它时它不会关闭。

请帮忙。

4

3 回答 3

1

Toggle 会根据元素的当前显示可见性进行显示和隐藏。所以这样的事情应该有效:

function toggleVisibility(newSection) {
    $("#" + newSection).toggle();
}
于 2012-10-20T16:24:54.923 回答
0

sounds like you may want tabs: when one panel is selected the other panels disappear.

这是一种常见的方法:

$('a.tab').click(function(e) {
    e.preventDefault();
    $('.panel:visible').hide();
    var el = $($(this).attr('href'));
    el.toggle();
});

您有显示组中特定面板并隐藏其他面板的链接:

<style type="text/css">
    .panel {display: none;}
</style>

<a class="tab" href="#panel1">Show/hide panel 1</a>
<a class="tab" href="#panel2">Show/hide panel 2</a>
<a class="tab" href="#panel3">Show/hide panel 3</a>

<div class="panel" id="panel1">1</div>
<div class="panel" id="panel2">2</div>
<div class="panel" id="panel3">3</div>
于 2012-10-20T16:25:15.137 回答
0

您给出的代码所做的是隐藏 ID 中info没有给出ID 的所有元素newSection,然后显示该元素newSection

由于元素只能有一个 ID,因此将元素视为可能有多个 ID,或者可能有多个相同的 ID,这有点奇怪和毫无意义。

您可以使用以下.toggle()方法:$("#"+newSection).toggle()

于 2012-10-20T16:26:32.903 回答