如何在一次点击时隐藏div并在另一次点击时取消隐藏?

时间:2013-03-26 17:53:09

标签: javascript jquery

我想在我的javascript中添加一个else语句,目前如果用户点击一个链接然后一个div隐藏,但我想要它,以便如果他们再次单击该链接,div将取消隐藏。有人可以告诉我如何做到这一点谢谢吗?

<a id="myLink" href="javascript:void(0)" onclick="javascript:myLinkButtonClick();"><h3 id="bobcontent1-title" class="handcursor"><img src="assets/img/help_support/howdo.png" width="302" height="45" /></a>

<script>
function myLinkButtonClick()
{
    $(".nswp-frame2").hide();
}
</script>

2 个答案:

答案 0 :(得分:6)

由于您似乎正在使用jQuery,因此您只需使用toggle()方法。

例如:

$('#myLink').on('click', function() {
    $(".nswp-frame2").toggle();
});

toggle()方法可互换地显示和隐藏元素,具体取决于元素当前是否可见或隐藏。

作为旁注,请注意此示例如何以不引人注目的方式使用click方法将处理程序绑定到on()事件,而不是示例中的突出(内联)代码。这也意味着此代码段应该是单独的脚本声明的一部分,并且最好在页面加载后执行。所以一个更完整的例子是:

<script type="text/javascript">
    $(document).ready(function() {
        $('#myLink').on('click', function() {
            $(".nswp-frame2").toggle();
        });
    });
</script>

答案 1 :(得分:3)

function myLinkButtonClick()
{
    var $element = $('.nswp-frame2');
    if($element.is(':visible')){
        $element.hide();
    } else {
        $element.show();
    }
}

或者,你也可以简单地使用.toggle方法:

function myLinkButtonClick()
{
    $('.nswp-frame2').toggle();
}