0

我想检查切换状态。当我检查浏览器的控制台日志时,可见值为 true 并且不会更改为 false。

为什么会这样?我该如何解决?


<html> 
<head>
<script src='~/Scripts/jquery-1.4.1.min.js' type="text/javascript"></script>

<script type="text/javascript">
        $(function () {

            $('#divUpdateForm').click(function () {

                $('#divUpdateContent').slideToggle();

                console.log($('#divUpdateContent').is(":visible"));

            });
        });
</script>
</head>
<body>
<div id="divUpdateForm" runat="server" class="panel" >Update panel state</div>

<div id="divUpdateContent" runat="server">
... my content
</div>
</body>
</html>
4

2 回答 2

1

您可以在功能中完成切换后检查切换状态,callback例如:

$('#divUpdateForm').click(function () {

    $('#divUpdateContent').slideToggle(function () {

        // Animation complete.
        if ($(this).is(":visible")) {
            console.log($(this).is(":visible"));
        } else {
            console.log($(this).is(":visible"));
        }
    });
});

小提琴演示

于 2013-07-31T13:55:05.927 回答
0

您需要在滑动元素之前检查它,在滑动期间,元素将始终可见:

$(function () {
    $('#divUpdateForm').click(function () {
        var v = $('#divUpdateContent').is(":visible")


        $('#divUpdateContent').slideToggle();

        // note that the variable v is also accessible here ?
        console.log(v)
    });
});

小提琴

于 2013-07-31T13:52:28.227 回答